Commit Graph

77 Commits

Author SHA1 Message Date
Ruben Vallejo 70a3c2631f resolve rebase type/compilation errors
Signed-off-by: Ruben Vallejo <rvallejo@vmware.com>
2023-10-12 10:12:55 -04:00
Patrik Oldsberg fdff9cc040 Merge pull request #20317 from mitchhentgesspotify/mhentges/fix-gcp-iap-refresh-500
Fix `authenticate()` ctx properties being missing
2023-10-09 16:41:39 +02:00
Adam Kunicki 8b8b1d23ae auth-node: Refresh handler not returning persisted scope in response
The refresh handler is returning an empty scope if scope was previously
saved in a cookie. The session is successfully refreshed but the client
receives a response without the scope it requested, prompting a new
login.

Resolves #20322

Signed-off-by: Adam Kunicki <kunickiaj@gmail.com>
2023-10-04 10:18:03 -07:00
Mitchell Hentges 6f142d5356 Fix authenticate() ctx properties being missing
This was broken because the return value of `initialize()` was a `Promise<...>` but its caller wasn't `await`-ing the value.

This was causing the `gcpIap` provider to fail on the `/request` endpoint because `jwtHeader` was undefined.

The OAuth equivalent keeps `initialize()` synchronous, and all implementations don't _need_ to be `async`, so make them synchronous instead.

I've chosen the changelog to be a `major` bump since this changes the API of a public type.

Signed-off-by: Mitchell Hentges <mhentges@spotify.com>
2023-10-04 10:08:50 +02:00
Patrik Oldsberg 911d90e306 auth-node: avoid passing through empty scope in start
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-09-25 20:09:39 +02:00
Patrik Oldsberg 6c2b0793bf auth-node: fix for persisted scopes not being restored on sign-in
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-09-25 14:02:15 +02:00
Patrik Oldsberg d852a15972 auth-node: add refreshTokenExpiresInSeconds field to OAuthSession
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-20 16:02:55 +02:00
Patrik Oldsberg 18619f793c auth-backend: track backstage session expiration separately
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-19 13:39:02 +02:00
Patrik Oldsberg ee28fa94da auth-node: minor review fixes
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-11 17:03:06 +02:00
Patrik Oldsberg f5eff800fd auth-node: tweaked some error types
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-11 17:03:06 +02:00
Patrik Oldsberg 02ea2388d6 auth-node: avoid atob
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-11 17:03:06 +02:00
Patrik Oldsberg b8515ae3b6 auth-node: fix OAuthState doc
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-11 17:03:06 +02:00
Patrik Oldsberg 296c818ddf auth-node: move parseWebPessageResponse to test util + fix error value handling
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-11 17:03:06 +02:00
Patrik Oldsberg 258b410cad auth refactor type fixes
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:25 +02:00
Patrik Oldsberg 0678d122a8 auth-node: tests for OAuth handler refresh
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:25 +02:00
Patrik Oldsberg 2f8c1e75d4 auth-node: OAuth handlers frame handler test + fixes
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:25 +02:00
Patrik Oldsberg 8d5aa7a3a3 auth-node: start tests for oauth handler
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:25 +02:00
Patrik Oldsberg 83941bb617 auth-node: add initial OAuth route handlers test
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:25 +02:00
Patrik Oldsberg c3aa1b91e1 auth-node: add proxy provider APIs
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg d3265deba8 auth-node: refactor to use plain ProfileTransform
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg acbf02aada auth-node: refactor and rename common sign-in resolvers
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg f7b3d26cf4 auth-node: export sign-in helpers and built-in resolver factories
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg e14ad7c018 auth-node: fix OAuth redirect flow return
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg d30b4e387a auth-node: add readDeclarativeSignInResolver
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg 861c5708c2 auth-node: add common sign-in resolvers
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg 39e19858b8 auth-node: add sign-in resolver factory
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg 12b4d8a3f8 auth-node: deprecate AuthProviderConfig and move to top-level props instead
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg 63484f54c6 auth-node: export OAuth state helpers and types
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:24 +02:00
Patrik Oldsberg 987637d75a auth-node: added createOAuthProviderFactory
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 112e45e37f auth-backend: move OAuthEnvironmentHandler to auth-node
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 3c1df5d4a9 auth-node: createOAuthHandleres -> createOAuthRouteHandlers + refactor state transform
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 5195c2adaa auth-node: provide passport OAuth helper types
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg c723a90f32 auth-node: add providers extension point
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg a49f1dc7e8 auth-node: add oauth index exports
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 6f5414273c auth-node: add default OAuth profile transform
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 1e5baf0c6e auth-node: move identity related modules to identity dir
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 52af2a8472 auth-node: add sendWebMessageResponse
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg ac8f47aa69 auth-node: inline ensuresXRequestedWith
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 679239161d auth-node: add PassportOAuthAuthenticatorHelper
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg feefbd3da6 auth-node: add PassportHelpers
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 14fd4fb7c8 auth-node: add createOAuthHandlers
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 4f7eed7b25 auth-node: added duplicate and refactored oauth state codec
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 48793dfc95 auth-backend: move prepareBackstageIdentityResponse to auth-node
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg b62b47a6dd auth-backend: move a couple more types to auth-node
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 93427ba7bc auth-node: add OAuthCookieManager
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 6c7952ee85 auth-backend: move CookieConfigurer to auth-node
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:23 +02:00
Patrik Oldsberg 68ae81a6a7 auth-node: initial oauth authenticator types
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:22 +02:00
Patrik Oldsberg 318816cef9 auth-backend: move a few types to auth-node
Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2023-08-09 10:42:22 +02:00
Fredrik Adelöw 65454876fb unpack props inside component bodies
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2023-02-27 15:31:15 +01:00
Fredrik Adelöw 7573b65232 get rid of circular imports
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2022-10-25 11:00:05 +02:00