2017-06-25 10 views
0

Azure ADは本当に新しいです。私は認証とWeb APIのアクセスに関する情報を提供するAzure ADのドキュメントを読んでいます。郵便配達員を使用しているAzure AD Bearer invalid_tokenエラー

私がしたいこと:ダイナミクスCRM APIを使用して、AWSラムダを通してリードまたは連絡先を作成したいと考えています。つまり、ラムダ関数が実行されるたびに、CRM APIを呼び出す必要があります。私がリードを作り出すために必要なのは、ラムダに含まれているユーザ名とパスワードの信用です。 Web APIにアクセスするためのソースとしてAWS Lambdaを使用しているときに、どのアプリケーションシナリオを使用する必要があるかわかりません。 POSTリクエストでユーザーの信用を渡したい

Azureでアプリケーションを作成する:どのアプリケーションタイプ(Web APIまたはネイティブアプリケーション?)を使用する必要があるのか​​よくわかりません。また、サインオンURLまたはリダイレクトURIはどうすればよいですか?

私はアクセストークンを取得してWeb APIにアクセスできるかどうかをテストするために、アプリケーションを作成して、一時的な方法としてPostmanを使用しようとしました。私は、アクセストークンを取得することができる可能性が、私はAPIにアクセスしようとしたときには、Dynamics CRMのAPIにアクセスするためのAzure ADでアプリケーションを作成している間、私は十分な権限を与えている

Bearer Error invalid_token, error validating token! 

を言います。しかし、それでもAPIにアクセスすることはできません。ポストマンを通じてアクセストークンを取得する

POSTリクエスト:

request: POST 
URL: https://login.windows.net/<tenant-id>/oauth2/token 
Body: 
grant_type: cliet_credentials 
username: xxxxx 
password: xxxxxxx 
client_id: <app id> 
resource: <resource> //I am not sure what to include here 
client_secret: <secret_key> 

私は応答してアクセストークンを取得します。アクセストークンを使用して2番目のPOSTリクエストを送信する

request: POST 
URL: https://xxx.api.crm.dynamics.com/api/data/v8.2/accounts 

Headers: 
Content-type: application/json 
OData-MaxVersion: 4.0 
OData-Version: 4.0 
Authorization: Bearer <access_token> 

Body: 
{ 
    "name": "Sample Account", 
    "creditonhold": false, 
    "address1_latitude": 47.639583, 
    "description": "This is the description of the sample account", 
    "revenue": 5000000, 
    "accountcategorycode": 1 
} 

私が立ち往生した場所についてさらに情報を得ることができれば、本当に役に立ちます。私はすでにこれを行うために1週間の時間を使いました。どんな助けもありがとう。

答えて

1

サーバーツーサーバー(S2S)認証を行うには、アプリケーションは、Dynamics 365アプリケーションユーザーレコードに格納されているAzure ADオブジェクトID値で識別されるサービスプリンシパルに基づいて認証されます。詳細な手順とコードサンプルについては、herehereをクリックしてください。

+0

リソースに感謝します。多くの試行の後、APIを使用してサンプルアカウントを作成するためのPOSTリクエストを送信できました。しかし今回は、レスポンスヘッダーで次のようになります。 'WWW-Authenticate→ベアラauthorization_uri = https://login.windows.net/ /oauth2/authorize、resource_id = https:// tenant-uri.api.crm.dynamics.com /' ボディはまだ'HTTPエラー401 - 権限がありません:アクセスが拒否されました' –

+0

トラブルシューティングの方法については、まず[このドキュメント](http://phuocle.net/crm/dynamics-365-online-s2s-authentication-full-explain.aspx)をチェックしてください'アクセスは拒否されました'というエラーです。 –

+0

ドキュメントありがとうございます。しかし、それは私が探しているものではありません。私はログインページを望んでいません。ヘッダーセクションにユーザーの資格情報を渡し、Web APIにアクセスします。 –

関連する問題