2016-09-09 24 views
4

ADAL.Net 3.xでUserPasswordCredentialは2.xからUserCredentialの上に導入されました。しかし、同じUserPasswordCredentialは、同じNugetパッケージの.Net Coreに公開されていませんか?ADAL .Net Core NugetパッケージはUserPasswordCredentialをサポートしていません

UserCredentialクラスはUserPasswordCredentialが.NetCoreでは使用できず、UserCredentialが一つだけのパラメータ名を取るのでどのように入力すると、ユーザのパスワードを唯一つのプロパティのユーザー名

namespace Microsoft.IdentityModel.Clients.ActiveDirectory 
{ 
    // 
    // Summary: 
    //  Credential used for integrated authentication on domain-joined machines. 
    public class UserCredential 
    { 
     // 
     // Summary: 
     //  Constructor to create user credential. Using this constructor would imply integrated 
     //  authentication with logged in user and it can only be used in domain joined scenarios. 
     public UserCredential(); 
     // 
     // Summary: 
     //  Constructor to create credential with client id and secret 
     // 
     // Parameters: 
     // userName: 
     //  Identifier of the user application requests token on behalf. 
     public UserCredential(string userName); 

     // 
     // Summary: 
     //  Gets identifier of the user. 
     public string UserName { get; } 
    } 
} 

を持っており、ネットコアのコードの下に実装します?

authContext.AcquireTokenAsync(WebAPIResourceId, ClientId, userPasswordCredential); 

私は、.NETのコアに特異的に1.0バージョン

+0

可能性のある重複した[?ADAL.NET v3はUserCredentialとAcquireTokenをサポートしていません](http://stackoverflow.com/questions/37465949/adal-net-v3-does – blowdart

答えて

3

あなたは、.NETのコア用UserPasswordCredentialis not available正しいではない、とUserCredentialは、もはやユーザ名とパスワードを受け入れるをADAL 3.13.4バージョンを使用しています。これは、ADAL v3が.NET Coreのユーザー名/パスワードの流れをサポートしていないことを意味します。

+1

バグはコメントで閉じられています["これは設計上サポートされていません]"(https:// github .com/AzureAD/azure-activedirectory-for-dotnet/issues/482) –

4

リソース所有者パスワード資格情報フローを使用してAzure ADのアクセストークンを取得するには、HttpClientを使用してHTTP要求をdiectly呼び出すことができます。ここではあなたの参照のための例です:の

+0

client_secretも必要です。 –

+0

これはアプリケーションの種類によって異なります。このシナリオでは、Webアプリケーションにはclient_secretが必要です。 –

+0

Gotcha、ありがとう。また、すべての値が本文でURIエンコードされるべきであることにも注意してください。 –

関連する問題