我提到了这个问题和这个 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
?