unsupported_grant_type

rottenpear

2022.02.14既読 1528

Authorization Code を取得し、Access Token を発行するための curl 実行結果でタイトルのエラーが発生します。
[ ERROR ]
{
    "error_description":"Grant type is not supported.",
    "error":"unsupported_grant_type",
}
上記エラーに示されている 参照先URL と同じオプションの利用を行っております。
また、grant_type については authorization_code (固定) とされているので困っております。
こちらどのように対応したらよろしいのでしょうか。
[ CURL ]
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'code=${AUTHORIZATION_CODE}' \
--data-urlencode 'grant_type=authorization_code' \
--data-urlencode 'client_id=${CLIENT_ID}' \
--data-urlencode 'client_secret=${CLIENT_SECRET}'

コメント8

  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    こちら、User Account認証 (OAuth)でしょうか?Service Account認証 (JWT)でしょうか?
    Service Account認証 (JWT)の場合、Grant Typeは以下の値で固定になります。
    urn:ietf:params:oauth:grant-type:jwt-bearer (固定)
    https://developers.worksmobile.com/jp/reference/authorization-sa?lang=ja

    2022.02.14

    0
  • 업데이트 된 답글입니다.

    rottenpear 投稿者

    User Account認証 (OAuth) による認証になります。
    こちらの場合は、ドキュメントにて下記となっておりますのでそちらに沿って行っております。

    パラメータ タイプ 必須 説明
    grant_type String Y authorization_code (固定)

    https://developers.worksmobile.com/jp/reference/authorization-auth?lang=ja

    2022.02.14

    0
  • 업데이트 된 답글입니다.

    LINE WORKS 公式アカウント

    こちらの検証環境でも確認いたしましたが、grant_type=authorization_codeを設定し正常にTokenを発行することができました。

    実際のRequest logをご確認いただき、正しく値がセットされているかどうかをご確認ください。

    2022.02.17

    0
  • 업데이트 된 답글입니다.

    RedishMoto

    Hey,

    I am facing same issue and getting "error":"unsupported_grant_type".
    I used grant_type String Y authorization_code (fixed) as per document but still getting "error":"unsupported_grant_type"

    How I can solve this error.

    Thanks

    2022.03.17

    0
  • 업데이트 된 답글입니다.

    Service Accountでの話ですが、ヘッダにContent-Lengthが含まれていないとかBodyがJsonだとか...形式が違う時は大体全部”Grant type is not supported”になります。

    2022.04.12

    0
  • 업데이트 된 답글입니다.

    rottenpear 投稿者

    こちらについて、解決致しました。
    Windows で curl を叩くとエラーが発生するようです。
    version: curl 7.79.1

    解決方法としては、WSL 上か Git Bash などで叩くとコンテンツが返ってきます。

    皆様ご意見ありがとうございました。

    2022.04.12

    0
  • 업데이트 된 답글입니다.

    SB游

    私もUser Account認証 (OAuth)で同じエラーが発生しています。
    salesforceでトークンを取得するコードは以下です。何か問題がありますか?

               HttpRequest req = new HttpRequest();
               req.setMethod('POST');
               req.setHeader('Content-Type', 'application/x-www-form-urlencoded');
               String param = 'code=xxxxxx';
               param = param + '&grant_type=authorization_code';
               param = param + '&client_id=xxxxxx';
               param = param + '&client_secret=xxxxxxx';

               req.setBody(EncodingUtil.urlEncode(param, 'utf-8'));
               req.setEndpoint('https://auth.worksmobile.com/oauth2/v2.0/token');

    2022.06.02

    0
  • 업데이트 된 답글입니다.

    村上SP

    同様の問題で辿りつきました。POSTMANを使用してAccess_Tokenを発行している環境です。
    authorization_codeをURLデコードして入力してみたら成功しました。

    2022.09.09

    1
前の投稿 User Account認証(OAuth) のログイン画面について
次の投稿ドキュメントの修正依頼
リスト

まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。