7

Azure Active Directory に一連のユーザーがいます。私のプログラムでは、エンド ユーザーのユーザー名とパスワードを収集し、windows azure Active Directory と照合したいと考えています。

出来ますか?どなたか参考にしてください。

Power-shell コマンドレットを使用して検証できることはわかっています。ユーザー資格情報を検証する他の方法があるかどうかを知りたいです。

4

4 に答える 4

2

ああ、あなたは SSO シナリオを実装しようとしていると思います。Windows Azure AD を使用して Web アプリケーションにサインオンを追加してみてください。お客様が Azure サブスクリプションを持っていない場合は、このWindows Azure Active Directory 用のマルチテナント クラウド アプリケーションのサンプルで、Azure Active Directory Authentication Library を使用して詳細を説明します。お役に立てれば。

于 2013-04-23T18:28:59.543 に答える
0

あなたは、「エンド ユーザーのユーザー名とパスワードを収集し、windows azure Active Directory で確認したい」と言っていますが、これは不可能であると確信しており、お勧めできないことは確かです。これは、ユーザーが同じ資格情報を使用して多くのアプリケーションにログインできる OAuth のようなアプローチの傾向とは逆です (そして、これから出てくる部分は重要です)、これらの「多くのアプリケーション」に自分のパスワードを明らかにすることはありません。

これはフェデレーション認証の考え方であり、ログインに使用するすべてのアプリがユーザー名とパスワードに直接アクセスできるようにする古いアプローチよりも安全なモデルです。通常、このようなフローでは、既存の Office 365 アカウントを想定して、O365 を使用して認証するように作成および構成した新しいアプリは、ユーザーの Web ブラウザーを O365 にリダイレクトし、そこでユーザーは O365 のユーザー名とパスワードを入力し、同意します。 (一度) この新しいアプリでそれらを使用しても問題ないことを確認すると、ブラウザーは、いくつかのクレームを含むセキュリティ トークンを使用して、アプリにリダイレクトします。これらのクレームには、ログインしているユーザーに関する名前、電子メール アドレス、およびその他の情報が含まれ、アプリでユーザーを識別するのに十分であることを意図しています。

同じことが、たとえば Facebook や Google での認証にも当てはまります。アプリがユーザーのパスワードを直接見ることはありません。これは、StackOverflow 自体へのログインにも適用されるため、ワークフローを見てきました。

于 2014-03-18T19:50:58.863 に答える
0

この ADAL オプションも役立つことを願っています。

ClientCredential encryptedCredentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "UserX@AdX.OnMicrosoft.com", "PasswordX")));
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", encryptedCredentials);
于 2014-04-04T17:00:16.883 に答える