gpt4 book ai didi

authentication - 使用 cognito 验证用户身份

转载 作者:行者123 更新时间:2023-12-04 06:37:26 25 4
gpt4 key购买 nike

我正在创建后端服务并使用 AWS Cognito。现在,我正在使用我的开发人员身份验证身份。所以,我的用户可以使用我自己的系统登录。这部分就完成了。

但是,我在登录后对用户进行身份验证时遇到问题。假设用户向我发送请求以访问我的 API 的某些私有(private)函数。我如何识别和验证此用户?

如果我使用 facebook 作为登录提供程序,我可以使用他的 Cognito ID 和他的 facebook 访问 token 来完成 http header 。然后,我可以对他进行身份验证,尝试使用函数 GetOpenIdTokenRequest 获取 Cognito token 。

我会有类似的东西

providerTokens.put("graph.facebook.com", "xxxxxxxxxxxx");
tokenRequest.setLogins(providerTokens);

AmazonCognitoIdentityClient identityClient = new AmazonCognitoIdentityClient();
identityClient.setRegion(RegionUtils.getRegion(Configuration.REGION));
GetOpenIdTokenResult tokenResp = identityClient.getOpenIdToken(tokenRequest);

但是,我没有使用 Facebook。

所以,我尝试了一些类似的东西

providerTokens.put("customdeveloper.authentication.com", "xxxxxxxxxxxx");
tokenRequest.setLogins(providerTokens);

收到一条错误消息,提示我的开发者身份验证不是公共(public)提供者。

如果我朝着正确的方向前进,我会很困惑。我基本上想验证我的用户。类似于我收到 token 的 oauth2 的东西可以检查用户身份。

使用 Cognito 的正确方法是什么?

最佳答案

是的,使用身份 ID 和 Cognito token ,您可以调用 getCredentialsForIdentity 并确定 token 有效且属于该身份。

然后您可以使用这些凭据以该用户的身份调用不同的服务。

另一种选择是将您的后端服务器逻辑置于 API 网关之后: http://docs.aws.amazon.com/apigateway/latest/developerguide/welcome.html

然后您的用户将获得客户端凭据,并使用这些凭据调用位于服务器端逻辑前面的 API 网关。

关于authentication - 使用 cognito 验证用户身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36414127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com