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

Sma*_* Ma 5 amazon-web-services amazon-cognito aws-amplify

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

使用用户池的功能联合。

希望使用此功能与托管UI。

希望使用与身份池此功能。

我想在反应式本机应用程序中使用用户池的 facebook 或 google 用户池的联合登录。例如,仅使用 AWS sdk,例如来自 amplify 的 auth SDK。

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

Auth.signIn与使用 react native 的 federation facebook 的同义词,例如 expo。

通过世博会,我通过

const { type, token, expires } = await Expo.Facebook.logInWithReadPermissionsAsync(aws_exports.aws_facebook_id, {
  permissions: ['public_profile'],
});
Run Code Online (Sandbox Code Playgroud)

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

Ark*_*jee 4

Amplify 不使用用户池 API 通过第三方提供商进行登录,并且为第三方提供商提供的 API 仅适用于身份池。目前,AWS Amplify SDK 团队对此提出了功能请求。

解决方法是直接使用AUTHORIZATION端点,并发出合适的 HTTP 请求来实现您的要求。