如何从 Google 登录获取 AWS Cognito id 令牌?

问题描述 投票:0回答:1

我查了一个月还是没找到。 Unity 和 Google 登录链接、Google 和 aws cognito 链接以及 cognito 和 unity 链接分别存在,但我还没有找到立即处理它们的方法。

我可以按照此文档获取AWS凭证。但是,它只提供用于授权的访问令牌,而不提供用于身份验证的 ID 令牌。

那么,如何从 Google 登录获取 AWS Cognito id 令牌?

我不想使用这篇文章提供的托管 UI。我学会了如何从帖子中获取 ID 令牌,但我想知道如何在不打开应用程序中的外部浏览器的情况下找到它。

unity-game-engine google-play-services amazon-cognito aws-userpools
1个回答
0
投票

创建自定义身份验证令牌提供商,这有助于为各种联合服务提供商获取认知令牌。

import { Amplify } from 'aws-amplify';
import { TokenProvider, decodeJWT } from 'aws-amplify/auth';

const myTokenProvider: TokenProvider = {
  async getTokens({ forceRefresh } = {}) {
    if (forceRefresh) {
      // try to obtain new tokens if possible
    }

    const accessTokenString = '<insert JWT from provider>'; // google token
    const idTokenString = '<insert JWT from provider>'; // google token
    
    return {
      accessToken: decodeJWT(accessTokenString),
      idToken: decodeJWT(idTokenString),
    };
  },
};

Amplify.configure(awsconfig, {
  Auth: {
    tokenProvider: myTokenProvider
  }
});

这里是文档链接,请访问它https://docs.amplify.aws/javascript/build-a-backend/auth/advanced-workflows/#custom-token-providers

© www.soinside.com 2019 - 2024. All rights reserved.