いくつかのAzureリソースを管理するためにMicrosoft.Azure.Management.Resourcesライブラリを使用しようとしています。私はAzure ADにアプリを登録しており、すべての許可をくれました。私はそのAPPLICATIONIDとシークレット+ TennantIdとSubscriptionIdを取り、このようAccessTokenをobtaionしようとした:Azureが無効ですAccessToken
var clientCredential = new ClientCredential(_model.DeploymentDetails.CliendId, _model.DeploymentDetails.ClientSecret);
var context = new AuthenticationContext("https://login.windows.net/"+model.DeploymentDetails.TennantId);
_accessToken = context.AcquireTokenAsync("https://management.azure.com/", clientCredential).Result.AccessToken;
_resourceManagementClient = new ResourceManagementClient(new TokenCloudCredentials(_model.DeploymentDetails.SubscriptionId,_accessToken));
私はいくつかのAccessTokenを取得します。私はこのようにそれを使用しようとすると、しかし:
追加情報:InvalidAuthenticationToken:受信したアクセストークンが有効でない:クレーム「PUID」または 'の少なくとも1
var x = _resourceManagementClient.ResourceGroups.List(...);
を私はこのエラーを取得しますaltsecid 'または' oid 'が存在する必要があります。アプリケーションとしてアクセスする場合は、テナントにサービスプリンシパルが正しく作成されていることを確認してください。
アイデア?
ありがとうございました。
クレームを確認するためにアクセストークンの内容を確認する必要がある場合は、https://jwt.io/またはhttp://jwt.calebb.netを使用できます。 – RasmusW
偶然新しいポータルでAzure ADにアプリを作成しましたか? http://www.cloudidentity.com/blog/2016/10/04/provision-an-app-created-on-portal-azure-com-in-your-own-tenant/ – juunas