2017-06-23 3 views
0

webviewからOutlookの予定表へのオフラインアクセスを取得しようとしています。 (authorization_codeのOAuthのフローを使用して) は現在、次のMicrosoft Oauth2(トークンエンドポイント) - 無効なクライアントエラー

を行うjavascriptのウェブサイトが https://login.microsoftonline.com/common/oauth2/v2.0/authorize エンドポイントを呼び出しますイム。その後、リダイレクトURIを私のSpringエンドポイントに設定しました。

スプリングサービスは有効なコード/状態を取得しているので、今まではすべてを修正したと仮定します。

その後、私は、私は戻って、次のエラーを取得しています次のパラメータ

{ 
    grant_type: authorization_code, 
    client_id: <client_id>, 
    client_secret: client_secret, 
    redirect_uri: <THE SAME AS USED BY AUTHENTICATE>, 
    scope: https://graph.microsoft.com/mail.read 
} 

と/トークンエンドポイントを呼び出しています:

{ 
    "error" : "invalid_client", 
    "error_description" : "The OAuth client was not found." 
} 

私は確信して二回クライアントシークレット/ idが設定されていると判断正しい。私はマイクロソフトの登録ポータルを使用してアプリケーションを作成し、Webをプラットフォームとして使用しました。 Live SDKのサポートも有効です。

https://apps.dev.microsoft.com

誰もがこのdoesntのは、働く理由の提案を持っていますか?

答えて

0

最初の通話から受け取った認証コードを、2回目の通話の本体に戻す必要があります。以下のあなたが戻って渡す必要があるパラメータです:あなたは

  • のclient_idを受け取った認証コード - - -
  • コードをauthorization_codeれるべき

    • grant_typeは、これはあなたのアプリケーション/クライアントID
    • client_secretである - これは、
    • スコープ - これは最初に要求したスコープのセットと一致する必要があります
    • redirect_uri - これはアプリケーション登録で定義されたリダイレクトURIです

    また、POSTはapplication/jsonではなくapplication/x-www-form-urlencodedとエンコードされている必要があります。

    私はprimer on the v2 Endpointと書いてありますが、ここでも参考になるかもしれません。

  • 関連する問題