2016-12-01 3 views
2

現在、FacebookのプロフィールをOktaの既存の(そしてログインしている)ユーザーに接続したいプロジェクトに取り組んでいます。ログインしたユーザーをOktaのFacebook Identityプロバイダにリンクさせる方法

このWebサイトは、Sitecore 6.5を使用してASP.NETで作成されています。

私たちは、「URLの認可」を使用して、ログインとアカウントをリダイレクトコールアウトでリンクします。

ユーザーがOktaにログインしていないときに、FacebookのIDプロバイダにアカウントを登録して作成できます。この場合、コールアウトのリダイレクトに続き、tx_idとなります。あなたがOktaにログインしているときにホバーし、同じ「Athorize URL」を訪問すると、redirect_uriに続き、結果としてid_tokenが得られます。これは私が(example result)を解読することができたJWT文字列です。

JWTの情報を使用してユーザーをIDプロバイダにリンクするにはどうすればよいですか?あるいは、これを行う別の方法がありますか? tx_idがないと、IDプロバイダにユーザーを追加するためのメソッドやAPI呼び出しが見つかりません。

答えて

2

https://developer.okta.com/docs/api/resources/social_authentication.htmlを使用してFBソーシャル認証をユーザーに追加したと思います。はい、一度あなたは、URL内のIDトークンを使ってアプリhttps://app.example.com/social_authにリダイレクトされます

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

最終URLを参照します。リダイレクトされたアプリでは、ユーザーのためにセッションを読み取り、デコードして作成することができます。ただし、Oktaでも同じユーザープロファイルが作成されます。

Oktaでソーシャル認証ユーザープロファイルを作成したら、次回にIDトークンを取得できます。

+0

あなたの答えをありがとう。しかし、私はそれを動作させることはできません。ユーザーがログインしていないときは、私はあなたの手順を実行できます。しかし、彼がログインしているときは、私は直接社会情報とid_tokenを取得します。私はセッションを作ることができないか、idpをそのユーザーとリンクさせることができません(または、わからない)。多分、私はAPI /リダイレクト呼び出しを見ることができるコードの例や流れの一種を持っていますか?私はまた、Oktaでチケットを記録するつもりです。あなたは更新され続けるでしょう。 –

関連する問題