Sergey Aldoukhov
11/07/2022, 3:00 PMauthenticate("auth-oauth-google")
):
val userSession: UserSession = call.sessions.get() ?: return@get call.respondRedirect("/login")
But as a result of successful authentication, I redirect to one of my pages:
get("/auth/callback") {
val principal: OAuthAccessTokenResponse.OAuth2? = call.authentication.principal()
call.sessions.set(UserSession(principal?.accessToken.toString()))
call.respondRedirect("/status")
}
It worked fine when I had only one page under OAuth. But for multiple, how do I redirect to the one that invoked the OAuth flow? I’d like to avoid having a “landing” page that requires OAuth - my users most probably will use links/bookmarks to go to specific pages.ephemient
11/07/2022, 4:15 PMSergey Aldoukhov
11/07/2022, 9:05 PMreturn@get call.respondRedirect("/login?state=page1")
does not seem to workephemient
11/07/2022, 9:14 PMAleksei Tirman [JB]
11/08/2022, 11:19 AMNonceManager
:
providerLookup = {
OAuthServerSettings.OAuth2ServerSettings(
// ...
nonceManager = object : NonceManager {
override suspend fun newNonce(): String {
return request.uri
}
override suspend fun verifyNonce(nonce: String): Boolean {
return true // Implement verification here
}
}
)
}
// ...
get("/callback") {
val page = call.parameters["state"]
// ...
}