外部アプリケーションからSharePoint [オンライン] REST APIにアクセスしようとしています。管理者アカウントでAzureに登録し、適切なユーザ委任権限(Office 365 SharePoint Online
)を割り当てました。ADALによるAzure AD OAuth認証:リソースIDは何ですか?
私はADAL.jsを使用してacquireToken
を呼び出し、そのトークンをAuthorization
ヘッダーに使用します。有効な-探しトークンが付属なっているが、私は反応して、次の401エラーを取得しています:
Exception of type 'Microsoft.IdentityModel.Tokens.AudienceUriValidationFailedException' was thrown
acquireToken()メソッドはresource
のparamがかかります、と私はオンライン何を読んでからSharePoint APIのこの値はhttps://[tenant].sharepoint.com
である必要がありますが、null
ベアラトークンのみを返します。
代わりに(以前の401エラーを引き起こす)私はAzureで生成されたアプリIDにリソースを設定するだけです。これは、私のlocalStorageキャッシュにトークンとして設定されてしまうことになります。ベアラートークンが返ってきますが、私は例外を受け取ります。
つの質問:
リソース文字列で、何何がacquireToken()を呼び出すための適切な値であり、見て私のアプリのIDとそれを呼び出す(同じこと私はとして使用していること私のADAL設定のクライアントID)は、ベアラトークンを正常に返す唯一の値ですか?各Microsoft APIに適切なリソース文字列のリストはありますか?私はこのトピックに関するドキュメントを見つけるのに苦労してきました。
Azureの設定に問題はありますか?
ありがとう!
あなたはこれを理解することができますか?私は同じ問題を抱えている。追加のレスポンスヘッダーが返されました(x-ms-diagnostics:3000003; reason = "無効なユーザーUri 'f8f8d2ad-7c9d-4aac-80eb-3f00a263c879';カテゴリ=" invalid_client ") – Russellg