如何在没有托管用户界面的情况下通过aws-amplify API使用联合身份验证?

时间:2019-05-13 19:26:34

标签: amazon-web-services amazon-cognito aws-amplify

AWS Cognito提供两项服务:用户池和身份池。到目前为止,两者都是相似但不同的概念。

想要使用用户池的功能联盟。

要在托管用户界面上使用此功能。

要将此功能与身份池一起使用。

我想在反应性本机应用程序中使用Facebook或google用户池的用户池的联合登录名。仅以AWS sdk为例,例如amplify的auth SDK。

但是,我发现无法通过API(非托管UI)使用用户池的联合登录。

Auth.signIn的同义词,但与使用响应本机(例如expo)的联合Facebook一起。

在博览会上,我通过

获取了Facebook令牌。
const { type, token, expires } = await Expo.Facebook.logInWithReadPermissionsAsync(aws_exports.aws_facebook_id, {
  permissions: ['public_profile'],
});

如何在不使用托管UI的情况下通过aws-amplify API使用联合身份验证?

2 个答案:

答案 0 :(得分:1)

Amplify不使用用户池API通过第三方提供商进行登录,而为第三方提供商提供的API仅用于身份池。当前,AWS Amplify SDK团队有一个功能请求。

一种解决方法是直接使用AUTHORIZATION端点,并进行适当的HTTP请求来满足您的要求。

答案 1 :(得分:0)

这是一则帖子,显示了如何使用Google和Facebook对用户池进行身份验证。在这里重复太多了,因此请查看链接。

https://dev.to/dabit3/the-complete-guide-to-user-authentication-with-the-amplify-framework-2inh

希望这会有所帮助。