Dmitry Kandalov
03/01/2024, 1:18 PMOAuthPersistenceFakeOAuthPersistenceInsecureCookieBasedOAuthPersistenceFakeOAuthPersistenceCustomOAuthPersistencedave
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
FakeOAuthPersistenceCustomOAuthPersistencedave
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 PMFakeOAuthPersistencedave
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