簡體   English   中英

如何在沒有托管用戶界面的情況下通過aws-amplify API使用聯合身份驗證?

[英]How to use federated Auth using aws-amplify API without hosted UI?

AWS Cognito提供兩項服務:用戶池和身份池。 到目前為止,兩者都是相似但不同的概念。

使用用戶池的功能聯合。

不想使用此功能與托管UI。

不想使用與身份池此功能。

我想在反應性本機應用程序中使用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'],
});

如何在沒有托管用戶界面的情況下通過aws-amplify API使用聯合身份驗證?

Amplify不使用用戶池API通過第三方提供商進行登錄,而為第三方提供商提供的API僅用於身份池。 當前,AWS Amplify SDK團隊有一個功能請求。

一種解決方法是直接使用AUTHORIZATION端點,並進行適當的HTTP請求以實現您的要求。

這是一篇文章,顯示了如何使用Google和Facebook對用戶池進行身份驗證。 在這里重復太多了,因此請查看鏈接。

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

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM