2017-02-09 90 views
0

我想解釋一個認證流程,並希望你可以回答,如果亞馬遜認爲正確的解決方案。這是認證流程可能與亞馬遜Cognito身份和用戶池

要求: 對於每個登錄名(用戶名/密碼,Facebook,Google等),應該有一個有效的用戶池帳戶。

流Facebook(無身份或用戶池帳戶存在)。

客戶點擊 「登錄與Facebook」:

1)調用GetOpenIdToken - >與FB的accessToken

1a)的同時,使用FB的accessToken從Facebook的

獲取電子郵件地址

2)調用AdminCreateUser與所生成的口令和Facebook郵件

3)主叫AdminInitiateAuth並獲取idToken

4)調用GetOpenIdToken並添加idToken爲cognito用戶池和facebookAccessToken

結果:在Cognito用戶游泳池和聯聯合賬戶

重要用戶對我來說是:從4令牌)是用戶池令牌,幷包含「子」(UUID至極一個是我們的內部數據庫中重要)

好吧,那是確定和作品不錯,但:

流量的Facebook用戶回來(身份和聯繫用戶池帳戶可用)

客戶點擊 「登錄與Facebook」:

1)調用GetOpenIdToken - >與FB的accessToken

2)調用DescribeIdentity並獲得登錄列表

2A),我們可以看到有鏈接的用戶池ID,並不需要創建一個新的用戶

在這一點確切問題來了:

我怎樣才能獲得用戶池令牌,如果我只是有facebo okAccessToken,但鏈接的用戶池登錄?

是否有可能獲得用戶池數據爲該鏈接的用戶只與Facebook accessToken?

如果這是正確的流程還是此認證流程不受Cognito支持?

感謝 馬塞爾

回答

2

沒有這個目前不支持。您已在連接登錄(FB和Cognito用戶池)的Cognito Federated Identities中創建了一個身份,但要使用Cognito用戶池進行身份驗證,您當前不能使用Facebook訪問令牌。獲取用戶池令牌的唯一方法是使用該帳戶的用戶名/密碼。

我們已經聽到多個客戶的這個請求,並會考慮在未來的版本中添加它。

相關問題