@aws-amplify/auth
Version:
Auth category of aws-amplify
1 lines • 7.16 kB
Source Map (JSON)
{"version":3,"file":"signOut.mjs","sources":["../../../../../src/providers/cognito/apis/signOut.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, ConsoleLogger, Hub, clearCredentials, defaultStorage, } from '@aws-amplify/core';\nimport { AMPLIFY_SYMBOL, AuthAction, assertOAuthConfig, assertTokenProviderConfig, } from '@aws-amplify/core/internals/utils';\nimport { getAuthUserAgentValue } from '../../../utils';\nimport { tokenOrchestrator } from '../tokenProvider';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { assertAuthTokens, assertAuthTokensWithRefreshToken, } from '../utils/types';\nimport { handleOAuthSignOut } from '../utils/oauth';\nimport { DefaultOAuthStore } from '../utils/signInWithRedirectStore';\nimport { AuthError } from '../../../errors/AuthError';\nimport { OAUTH_SIGNOUT_EXCEPTION } from '../../../errors/constants';\nimport { createGlobalSignOutClient, createRevokeTokenClient, } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { createCognitoUserPoolEndpointResolver } from '../factories';\nconst logger = new ConsoleLogger('Auth');\n/**\n * Signs a user out\n *\n * @param input - The SignOutInput object\n * @throws AuthTokenConfigException - Thrown when the token provider config is invalid.\n */\nexport async function signOut(input) {\n const cognitoConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(cognitoConfig);\n if (input?.global) {\n await globalSignOut(cognitoConfig);\n }\n else {\n await clientSignOut(cognitoConfig);\n }\n let hasOAuthConfig;\n try {\n assertOAuthConfig(cognitoConfig);\n hasOAuthConfig = true;\n }\n catch (err) {\n hasOAuthConfig = false;\n }\n if (hasOAuthConfig) {\n const oAuthStore = new DefaultOAuthStore(defaultStorage);\n oAuthStore.setAuthConfig(cognitoConfig);\n const { type } = (await handleOAuthSignOut(cognitoConfig, oAuthStore, tokenOrchestrator, input?.oauth?.redirectUrl)) ?? {};\n if (type === 'error') {\n throw new AuthError({\n name: OAUTH_SIGNOUT_EXCEPTION,\n message: `An error occurred when attempting to log out from OAuth provider.`,\n });\n }\n }\n else {\n // complete sign out\n tokenOrchestrator.clearTokens();\n await clearCredentials();\n Hub.dispatch('auth', { event: 'signedOut' }, 'Auth', AMPLIFY_SYMBOL);\n }\n}\nasync function clientSignOut(cognitoConfig) {\n try {\n const { userPoolEndpoint, userPoolId, userPoolClientId } = cognitoConfig;\n const authTokens = await tokenOrchestrator.getTokenStore().loadTokens();\n assertAuthTokensWithRefreshToken(authTokens);\n if (isSessionRevocable(authTokens.accessToken)) {\n const revokeToken = createRevokeTokenClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n await revokeToken({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignOut),\n }, {\n ClientId: userPoolClientId,\n Token: authTokens.refreshToken,\n });\n }\n }\n catch (err) {\n // this shouldn't throw\n logger.debug('Client signOut error caught but will proceed with token removal');\n }\n}\nasync function globalSignOut(cognitoConfig) {\n try {\n const { userPoolEndpoint, userPoolId } = cognitoConfig;\n const authTokens = await tokenOrchestrator.getTokenStore().loadTokens();\n assertAuthTokens(authTokens);\n const globalSignOutClient = createGlobalSignOutClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n await globalSignOutClient({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.SignOut),\n }, {\n AccessToken: authTokens.accessToken.toString(),\n });\n }\n catch (err) {\n // it should not throw\n logger.debug('Global signOut error caught but will proceed with token removal');\n }\n}\nconst isSessionRevocable = (token) => !!token?.payload?.origin_jti;\n"],"names":[],"mappings":"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"}