我查了一个月还是没找到。 Unity 和 Google 登录链接、Google 和 aws cognito 链接以及 cognito 和 unity 链接分别存在,但我还没有找到立即处理它们的方法。
我可以按照此文档获取AWS凭证。但是,它只提供用于授权的访问令牌,而不提供用于身份验证的 ID 令牌。
那么,如何从 Google 登录获取 AWS Cognito id 令牌?
我不想使用这篇文章提供的托管 UI。我学会了如何从帖子中获取 ID 令牌,但我想知道如何在不打开应用程序中的外部浏览器的情况下找到它。
创建自定义身份验证令牌提供商,这有助于为各种联合服务提供商获取认知令牌。
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