[英]AWS Cognito - social sign-in option behaviour
我們已經為面向消費者的應用程序(iOS,Android和React Native Web應用程序)實現了社交注冊和登錄選項,並且我們正在使用AWS Cognito和FB OAuth來處理用戶身份驗證。
我們尚未發布,但已找到通過此方法對用戶進行身份驗證的方式的“問題”。 我在這方面只具備基本的技術知識,因此請原諒我使用的任何虛擬語言。
本質上要求是我們的應用程序只提示輸入自己的Facebook憑證的用戶(注冊或登錄) 當且僅當他們沒有積極和登錄Facebook的會議上的瀏覽器。
例如
如果用戶退出我們的應用程序,然后稍后返回並想要再次登錄,則運行上述“測試”以檢查我們是否可以立即對其進行身份驗證,或者是否需要提示他們提供FB憑據。
我們目前從技術合作伙伴那里得到的理解是不可能的,但是渴望了解是否有人能夠使用我們正在使用的技術來做到這一點?
最后,是否有人成功利用iOS和Android的FB SDK以及AWS Cognito來允許其應用程序使用本機FB應用程序(在設備上)作為身份驗證的途徑(與將其推送到用戶必須輸入的網頁上相比) FB憑證) ?
謝謝湯姆
除了@donkon指出的內容外,您的本機應用程序將無權訪問執行授權的用戶代理(瀏覽器)中存儲的任何憑據。 這是預期的行為,並提高了安全性。
當你的客戶端需要得到您的應用程序客戶端憑證(又名訪問令牌),並且具有通過外部的IdP(這里FB)來驗證用戶,你通常在用戶代理運行此驗證過程。 該站點的行為取決於IdP,並且可以通過調用IdP的URL中作為查詢參數提供的選項進行某種程度的定制。 請注意,FB登錄既不完全符合OAuth2,也不完全符合OIDC。
對於Facebook登錄,用於定制流的相關參數是auth_type
,類似於針對OIDC符合IDP的prompt
選項。 有效值當然也rerequest
供應商: reauthenticate
, https
, rerequest
。
盡管如此,問題仍然存在,您如何自定義AWS Cognito注冊和登錄流程,以將參數轉發到FB登錄IDP。 我自己無法回答這個問題,因為到目前為止我還沒有使用過AWS Cognito。
但據我所知,您的要求無法100%滿足,因為您的應用無法“看到”用戶代理中存在有效的會話。 但是重要的是,從UX的角度來看,行為是否可以接受-當然,最重要的是,它必須是安全的。
參考:
https://developers.facebook.com/docs/facebook-login/reauthentication/ https://developers.facebook.com/docs/facebook-login/permissions/requesting-and-revoking/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.