2016-12-01 90 views
2

我目前正在開發一個項目,我們希望將Facebook個人資料連接到現有(和登錄)的Okta用戶。如何將已登錄的用戶鏈接到Okta的Facebook身份提供商

該網站是在ASP.NET中使用Sitecore 6.5。

我們使用「授權URL」來執行我們的登錄和帳戶鏈接與重定向標註。

當用戶未在Okta中登錄時,我可以使用Facebook身份提供程序註冊並創建一個帳戶。在這種情況下,它遵循標註重定向,我們得到一個tx_id。當您登錄Okta時將鼠標懸停,然後您訪問同樣的「Athorize網址」,它會顯示redirect_uri,您會得到id_token。這是我設法解碼的JWT字符串(example result)

如何使用JWT中的信息將用戶鏈接到身份提供者?還是有另一種方法來做到這一點?如果沒有tx_id,我找不到任何方法或API調用將用戶添加到身份提供者。

回答

2

我相信你用https://developer.okta.com/docs/api/resources/social_authentication.html爲用戶添加FB社交認證。是的,一旦你瀏覽最終網址

https://example.okta.com/oauth2/v1/authorize?idp=0oa0bcde12fghiJkl3m4&client_id=AbcDE0fGHI1jk2LM34no&scope=openid%20email%20profile&response_type=id_token&response_mode=fragment&state=someState&nonce=someNonce&redirect_uri=https://app.example.com/social_auth

,你將被重定向到您的應用程序https://app.example.com/social_auth網址中的ID令牌。在重定向的應用程序中,您可以閱讀,解碼併爲用戶創建會話。但是,Okta中也創建了相同的用戶配置文件。

在Okta中創建社交認證用戶配置文件後,您可以使用它在下次獲取id令牌。

+0

感謝您的回答。但是我無法讓它工作。當用戶沒有進入時,我可以做你的步驟。但是,當他登錄時,我直接獲取帶有社交信息的id_token。我無法進行任何會話,也無法將idp鏈接到用戶(或不知道如何)。你可能有代碼示例或某種流程,我可以看到api/redirect調用?我也要在Okta登錄一張票。會讓你更新。 –

相關問題