Dmitry Kandalov
03/01/2024, 1:18 PMOAuthPersistence
? I can see there is FakeOAuthPersistence
and InsecureCookieBasedOAuthPersistence
but it’s not too clear to me what a real implementation should do blob smile Or FakeOAuthPersistence
and CustomOAuthPersistence
are good enough?dave
03/01/2024, 1:22 PMdave
03/01/2024, 1:23 PMdave
03/01/2024, 1:24 PMdave
03/01/2024, 1:24 PMDmitry Kandalov
03/01/2024, 2:09 PMfor Okta or other SSO with JWTs it’s basically implementing assignXXX and retrieveXXXThis sounds like
FakeOAuthPersistence
and CustomOAuthPersistence
🤔dave
03/01/2024, 2:12 PMdave
03/01/2024, 2:12 PMdave
03/01/2024, 2:12 PMdave
03/01/2024, 2:13 PMDmitry Kandalov
03/01/2024, 2:13 PMDmitry Kandalov
03/01/2024, 2:13 PMclass CustomOAuthPersistence : OAuthPersistence {
var nonce: Nonce? = null
var csrf: CrossSiteRequestForgeryToken? = null
var accessToken: AccessToken? = null
var originalUri: Uri? = null
override fun retrieveCsrf(request: Request): CrossSiteRequestForgeryToken? = csrf
override fun assignCsrf(redirect: Response, csrf: CrossSiteRequestForgeryToken): Response {
this.csrf = csrf
return redirect.header("action", "assignCsrf")
}
override fun assignNonce(redirect: Response, nonce: Nonce): Response {
this.nonce = nonce
return redirect.header("action", "assignNonce")
}
override fun retrieveNonce(request: Request): Nonce? = nonce
override fun assignOriginalUri(redirect: Response, originalUri: Uri): Response {
this.originalUri = originalUri
return redirect.header("action", "assignOriginalUri")
}
override fun retrieveOriginalUri(request: Request): Uri? = originalUri
override fun retrieveToken(request: Request): AccessToken? = accessToken
override fun assignToken(
request: Request,
redirect: Response,
accessToken: AccessToken,
idToken: IdToken?
): Response {
this.accessToken = accessToken
return redirect.header("action", "assignToken")
}
}
dave
03/01/2024, 2:14 PMdave
03/01/2024, 2:15 PMdave
03/01/2024, 2:15 PMDmitry Kandalov
03/01/2024, 2:16 PMFakeOAuthPersistence
is the same as the code above.dave
03/01/2024, 2:17 PMdave
03/01/2024, 2:18 PMDmitry Kandalov
03/03/2024, 12:07 PMdave
03/03/2024, 12:10 PM