@aws-amplify/auth
Version:
Auth category of aws-amplify
1 lines • 3.48 kB
Source Map (JSON)
{"version":3,"file":"forgetDevice.mjs","sources":["../../../../../src/providers/cognito/apis/forgetDevice.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, fetchAuthSession } from '@aws-amplify/core';\nimport { AuthAction, assertTokenProviderConfig, } from '@aws-amplify/core/internals/utils';\nimport { assertAuthTokens, assertDeviceMetadata } from '../utils/types';\nimport { getRegionFromUserPoolId } from '../../../foundation/parsers';\nimport { tokenOrchestrator } from '../tokenProvider';\nimport { getAuthUserAgentValue } from '../../../utils';\nimport { createForgetDeviceClient } from '../../../foundation/factories/serviceClients/cognitoIdentityProvider';\nimport { createCognitoUserPoolEndpointResolver } from '../factories';\n/**\n * Forget a remembered device while authenticated.\n *\n * @param input - The ForgetDeviceInput object.\n * @throws - {@link ForgetDeviceException} - Cognito service errors thrown when\n * forgetting device with invalid device key\n * @throws AuthTokenConfigException - Thrown when the token provider config is invalid.\n */\nexport async function forgetDevice(input) {\n const { device: { id: externalDeviceKey } = { id: undefined } } = input ?? {};\n const authConfig = Amplify.getConfig().Auth?.Cognito;\n assertTokenProviderConfig(authConfig);\n const { userPoolEndpoint, userPoolId } = authConfig;\n const { tokens } = await fetchAuthSession();\n assertAuthTokens(tokens);\n const deviceMetadata = await tokenOrchestrator.getDeviceMetadata();\n const currentDeviceKey = deviceMetadata?.deviceKey;\n if (!externalDeviceKey)\n assertDeviceMetadata(deviceMetadata);\n const serviceForgetDevice = createForgetDeviceClient({\n endpointResolver: createCognitoUserPoolEndpointResolver({\n endpointOverride: userPoolEndpoint,\n }),\n });\n await serviceForgetDevice({\n region: getRegionFromUserPoolId(userPoolId),\n userAgentValue: getAuthUserAgentValue(AuthAction.ForgetDevice),\n }, {\n AccessToken: tokens.accessToken.toString(),\n DeviceKey: externalDeviceKey ?? currentDeviceKey,\n });\n if (!externalDeviceKey || externalDeviceKey === currentDeviceKey)\n await tokenOrchestrator.clearDeviceMetadata();\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AACA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAe,YAAY,CAAC,KAAK,EAAE;AAC1C,IAAI,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,IAAI,EAAE;AACjF,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO;AACxD,IAAI,yBAAyB,CAAC,UAAU,CAAC;AACzC,IAAI,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,UAAU;AACvD,IAAI,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,EAAE;AAC/C,IAAI,gBAAgB,CAAC,MAAM,CAAC;AAC5B,IAAI,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE;AACtE,IAAI,MAAM,gBAAgB,GAAG,cAAc,EAAE,SAAS;AACtD,IAAI,IAAI,CAAC,iBAAiB;AAC1B,QAAQ,oBAAoB,CAAC,cAAc,CAAC;AAC5C,IAAI,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;AACzD,QAAQ,gBAAgB,EAAE,qCAAqC,CAAC;AAChE,YAAY,gBAAgB,EAAE,gBAAgB;AAC9C,SAAS,CAAC;AACV,KAAK,CAAC;AACN,IAAI,MAAM,mBAAmB,CAAC;AAC9B,QAAQ,MAAM,EAAE,uBAAuB,CAAC,UAAU,CAAC;AACnD,QAAQ,cAAc,EAAE,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC;AACtE,KAAK,EAAE;AACP,QAAQ,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;AAClD,QAAQ,SAAS,EAAE,iBAAiB,IAAI,gBAAgB;AACxD,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,KAAK,gBAAgB;AACpE,QAAQ,MAAM,iBAAiB,CAAC,mBAAmB,EAAE;AACrD;;;;"}