LINE WORKS API 2.0 User Account認証 (OAuth)のUNAUTHORIZED認証エラーについて
LINE WORKS API 2.0のUser Account認証 (OAuth)でローカルのクライアントPC(PHP Laravel Guzzle ウェブアプリケーション)よりAuthorization Codo取得のためにLINEWOKSアカウントでログイン認証を行って、redirectでAccess Tokenを発行しました。利用するscopeはread以外すべて追加しました。
次にTalend APIやクライアントPCで
headers => [
Authorization' => 'Bearer '.{AccessToken},
]
を実行するのですが、
`401 Unauthorized` response: {"code":"UNAUTHORIZED","description":"Authentication failed"}
と認証エラーとなってしまいます。
Oauth2.0自体もあまり取り扱ったことがないため今回ご質問させていただきました。よろしくお願いいたします。
投稿に新しいコメントが追加されましたら通知を送信します。
コメント2
업데이트 된 답글입니다.
佐藤正宗
PHPは専門ではないのですが、Headerへのセットのところの記述が怪しそうです。
Postmanで生成したサンプルコードで良ければ張り付けておきますのでご参考になれば。
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://www.worksapis.com/v1.0/users/me/calendar');
$request->setRequestMethod('GET');
$request->setOptions(array());
$request->setHeaders(array(
'Accept' => 'application/json',
'Authorization' => 'Bearer jp1AAAA60zYqK0P4SQ8ItHnOJwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx+gQ=='
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
2022.04.27
업데이트 된 답글입니다.
きむ 投稿者
サンプルコードを参照に認証を行ってみたのですが同じくエラーが発生しおかしいと思い、AccessTokenを疑いAccessTokenを以下のように取得するようにしたところ認証されるようになりました。
コメントいただきありがとうございました。
Route::get('/callback', function (Request $request) {
$http = new GuzzleHttp\Client;
$response = $http->post('https://auth.worksmobile.com/oauth2/v2.0/token', [
"headers" => [
"Content-Type" => "application/x-www-form-urlencoded",
],
'form_params' => [
'grant_type' => 'authorization_code',
'client_id' => 'XXXXXXXXXXXXXXXXXXXXXXX',
'client_secret' => 'xxxxxxxxxx',
'redirect_uri' => 'http://localhost/callback',
'code' => request()->code,
],
]);
// 最初こちらでaccessTokenを取得してましたが認証エラー
// return json_decode((string) $response->getBody(), true); //
// 下記でaccessToken取得したコードで試したところステータスコード200となりました
$body = $response->getBody();
$body = json_decode($body);
dd($body);
2022.04.27
まだ、解決できませんか?
今すぐ実際に使用しているLINE WORKSユーザーに質問してみましょう。