2016-07-01 12 views
1

フェデレーションアカウントへのログイン機能をウェブ以外のアプリケーションからSharePointにオンラインで追加しています。SAML経由でoutlook.comアドレスを認証して共有ポイントログインを行う

SAMLを使用してOffice365アカウントの場合はhttps://login.microsoftonline.com/extSTS.srfに電話をかけても問題はありません。

フェデレーションセキュリティを使用している顧客がいますが、他のユーザーアカウント、具体的にはhttp://outlook.comアドレスにもアクセスできます。

これはフェデレーションアカウントなので、資格情報をlogin.microsoftonline.com/extSTS.srfに渡すことはできません。私たちはhttp://outlook.comユーザーアカウントのために、我々は戻って、このJSONレスポンスを得ることを行うとhandler=1&login={0}

login.microsoftonline.com/GetUserRealm.srf 

に連合通話が掲載示したいくつかのコード例を読んでいた。

{ "State":1, "UserState":2, "Login": "[email protected]", "FederationGlobalVersion": -1, "DomainName": "OUTLOOK.COM", "AuthURL": "https://login.live.com/login.srf?cbcxt=&popupui=&vv=&username=&mkt=&lc=&wfresh=", "NameSpaceType": "Federated", "FederationBrandName": "OUTLOOK.COM", "AuthNForwardType": 0} 

コード例では、AuthURLから構築されたサイトにSAML情報を投稿することを提案しています。

String.Format("https://{0}/adfs/services/trust/2005/usernamemixed/", adfsAuthUrl.Host); 

これは次のようになります。https://login.live.com/adfs/services/trust/2005/usernamemixed/

ただし、404エラーが発生します。 ADユーザーアカウントを使用してGetUserRealmを呼び出す必要があった場合、会社固有のAuthURLを取得したことになります。

Office365サイトを認証しようとすると、ドメイン以外のアカウント(具体的にはhttp://outlook.comなど)に別のパスを実装する必要がありますか?

答えて

0

実際にユーザーにSharePoint Onlineの認証を依頼したい場合は、Azure AD - アクセストークンを取得し、Office 365 REST API経由でコンテンツにアクセスするか、またはb)ユーザーコンテキストを使用するかどうかを選択することができます。その場合は、依然としてアクセストークンが必要です。または、アプリケーション専用のコンテキストを使用する必要があります。私のブログのSamlMan.wordpress.comには、これらの両方の例がたくさんあります。

関連する問題