認証サーバーは「Access Tokenの発行」するときに「returnCode":"99"」の返事があります
こんにちは、お世話になります
(母国語は日本語ではありませんので、すみません)
Service Account認証 (JWT)の処理として(リンクこちら)、
「Access Tokenの発行」を作りますが、
POSTメッセージで認証サーバーに
おくると、エンドポイントは:
認証サーバーの返事は
{"returnCode":"99","returnMessage":"UnexpectedError"}
になります
私の送ったメッセージはCGI/PERLがある
サーバーから送ります(その結果、RSA256ライブラリーは
Crypt::OpenSSL::RSAです)。
コンテンツの内容は下記です:
assertion=eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.{JSON Claim set BASE64エンコード}.{signature BASE64エンコード}&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer&client_id=XXXXX&client_secret=SSSSSS&scope=bot,bot_read,user.read
備考:{JSON Claim set BASE64エンコード}、{signature BASE64エンコード}、client_idとclient_secretは本物の情報です。
そして私のサーバーにちゃんとのPrivateKeyプライベートキーファイルもあります。チェンと読めますなど。
認証サーバーからメッセージがきますので、
POSTのメッセージはちゃんとサーバーまでいったこと
理解出来ますが、返事は{"returnCode":"99","returnMessage":"UnexpectedError"}
だけですので、特に私の送ったメッセージの違う部分は理解出来ません。
例えば認証サーバーの返事のエラーは「違うSIGNATURE」であれば、すぐ
「
RS256
」を作る時の問題がある理解できると思いますが現在の認証サーバーのメッセージで質問はどうやってわかりますか?
宜しくお願い致します。
投稿に新しいコメントが追加されましたら通知を送信します。
コメント4
업데이트 된 답글입니다.
LINE WORKS 公式アカウント
また、scopeが「scope=bot,bot_read,user.read」となっておりますが、bot.readが正しいscopeになります。
scope設定をご確認の上、動作をお確かめください。
なお、bot scopeはbot.read scopeの上位になりますのでbot.read scopeの設定は不要です。
2022.04.15
업데이트 된 답글입니다.
デイビッドDEV 投稿者
すみません、認証サーバーのDEVELOPERサンドボックスがありますか(つくったRSA256のサインがただしいかどうかわかる方法がありますか)?
宜しくお願いします。
2022.04.15
업데이트 된 답글입니다.
佐藤正宗
https://jwt.io/
2022.04.15
업데이트 된 답글입니다.
デイビッドDEV 投稿者
気になる点:問題はBASE64でした、私のほうが「BASE64」ENCODEだけしましたが、
RS256は「BASE64」+「URLSAFE」ENCODE。次の変更:
「+」は「-」になります
「\」は「_」になります
BASE64の最後の(あったら)「=」なしです。
私の場合はCGI/PERLですので、作ったBASE64ライブラリーはそのURLSAFEの
変更しませんでしたので、メッセージはNGでした。その結果、エラーがありました。
変更したらちゃんとTOKENがちゃんと来ました。
宜しくお願いします。
2022.04.18
まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。