|
1 | 1 | package no.nav.dekoratoren.api.innloggingsstatus.auth
|
2 | 2 |
|
3 | 3 | import io.ktor.server.application.ApplicationCall
|
| 4 | +import no.nav.dekoratoren.api.innloggingsstatus.oidc.OidcTokenInfo |
4 | 5 | import no.nav.dekoratoren.api.innloggingsstatus.oidc.OidcTokenService
|
5 | 6 | import no.nav.dekoratoren.api.innloggingsstatus.user.SubjectNameService
|
6 |
| -import org.slf4j.Logger |
7 |
| -import org.slf4j.LoggerFactory |
8 | 7 |
|
9 | 8 | class AuthTokenService(
|
10 | 9 | private val oidcTokenService: OidcTokenService,
|
11 | 10 | private val subjectNameService: SubjectNameService,
|
12 | 11 | ) {
|
13 |
| - private val log: Logger = LoggerFactory.getLogger(AuthTokenService::class.java) |
14 |
| - |
15 | 12 | suspend fun getAuthenticatedUserInfo(call: ApplicationCall): UserInfo {
|
16 |
| - return try { |
17 |
| - fetchAndParseAuthenticatedUserInfo(call) |
18 |
| - } catch (e: Exception) { |
19 |
| - log.warn("Feil ved henting av brukers innloggingsinfo", e) |
20 |
| - UserInfo.unAuthenticated() |
21 |
| - } |
| 13 | + val oidcToken = oidcTokenService.getOidcToken(call) |
| 14 | + return getUserInfo(oidcToken) |
22 | 15 | }
|
23 | 16 |
|
24 | 17 | fun getAuthSummary(call: ApplicationCall): AuthSummary {
|
25 |
| - return fetchAndParseAuthInfo(call).let { authInfo -> |
26 |
| - AuthSummary.fromAuthInfo(authInfo) |
27 |
| - } |
28 |
| - } |
29 |
| - |
30 |
| - private suspend fun fetchAndParseAuthenticatedUserInfo(call: ApplicationCall): UserInfo { |
31 |
| - val authInfo = fetchAndParseAuthInfo(call) |
32 |
| - return getUserInfo(authInfo) |
33 |
| - } |
34 |
| - |
35 |
| - fun fetchAndParseAuthInfo(call: ApplicationCall): AuthInfo { |
36 | 18 | val oidcToken = oidcTokenService.getOidcToken(call)
|
37 |
| - return AuthInfo(oidcToken) |
| 19 | + return AuthSummary.fromOidcToken(oidcToken) |
38 | 20 | }
|
39 | 21 |
|
40 |
| - private suspend fun getUserInfo(authInfo: AuthInfo): UserInfo { |
41 |
| - return if (authInfo.subject != null) { |
42 |
| - val subjectName = subjectNameService.getSubjectName(authInfo.subject!!) |
43 |
| - UserInfo.Companion.authenticated(subjectName, authInfo.authLevel!!) |
| 22 | + private suspend fun getUserInfo(oidcTokenInfo: OidcTokenInfo?): UserInfo { |
| 23 | + return if (oidcTokenInfo != null) { |
| 24 | + val subjectName = subjectNameService.getSubjectName(oidcTokenInfo.subject) |
| 25 | + UserInfo.authenticated(subjectName, oidcTokenInfo.authLevel) |
44 | 26 | } else {
|
45 |
| - UserInfo.unAuthenticated() |
| 27 | + UserInfo.unauthenticated() |
46 | 28 | }
|
47 | 29 | }
|
48 | 30 | }
|
0 commit comments