この質問とこの MSDN の投稿を参照しましたが、問題を解決できませんでした。
以下のコードは、Web ブラウザーを使用して WAAD 認証を実行する方法を示しています。
AuthenticationContext auth = new AuthenticationContext("https://login.windows.net/" + myDomain);
AuthenticationResult result = auth.AcquireToken(resource, clientID, resourceAppIDURI);
これによりブラウザが開き、ユーザーは詳細を入力するように求められますが、問題なく機能します。
ただし、ユーザー名/パスワード/ドメインを独自に取得できるGUIクライアントがあります。そのため、GUI クライアントから詳細を収集し、WAAD サーバーに直接提供して、ユーザーを認証することを目的としています。
どうやってするか?
のオーバーロードを見るだけで、AcquireToken()
いくつかの手がかりが得られました (これも間違っている可能性があります)。
AuthenticationResult AcquireToken (string resource, Credential credential);
と
AuthenticationResult AcquireToken (string authorizationCode, string redirectUri, ClientCredential credential);
class ClientCredential
しかし、 (のサブクラス)を作成する方法がわかりませんCredential
。このクラスはnamespace Microsoft.WindowsAzure.ActiveDirectory.Authentication
.
以下はそのコンストラクタです。
ClientCredential(string clientId, SecureString secureClientSecret);
ClientCredential(string clientId, string clientSecret);
オンラインで検索してもあまり答えが得られませんでしたが、このリンクを取得しました。しかし、やはりその部分はSecureString
私にとって謎です。を使用してユーザー名/パスワード/ドメインをどのように通信できますSecureString
か?