首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用oauth_token.do的oauth授予流错误

使用oauth_token.do的oauth授予流错误
EN

Stack Overflow用户
提问于 2017-03-08 09:50:48
回答 2查看 1.4K关注 0票数 2

我遵循文章OAuth授权代码授予流来获取令牌

最初,我提出了以下要求:

代码语言:javascript
运行
复制
dev234.service-now.com/oauth_auth.do?response_type=code&client_id=****534e4e81b7f

以及在允许访问后的答复:

代码语言:javascript
运行
复制
http://callback-url?code=Z2YYGhgfh1tMoFPDO7Dr0nZuPnhQPs53qwkm_Sw99gpUf92gU3x_OOuoOqdYBvlPFF01pOfgZg9VoXpCruSRYQ

在此之后,获得令牌:

代码语言:javascript
运行
复制
dev234.service-now.com/oauth_token.do?grant_type=authorization_code&code=<***>&client_id=<***>&client_secret=<***>

当我请求这个时,抛出错误

代码语言:javascript
运行
复制
{"error_description": "access_denied","error": "server_error"}

我不能以json格式获得access_tokenrefresh_token吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-13 06:39:35

最后,在从前面的步骤中获得代码之后,我使php请求看起来如下:

$client =新客户端();

代码语言:javascript
运行
复制
   $post_data = [
                   'grant_type' => 'authorization_code',
                   'code' => 'your code',
                   'redirect_uri' => '<callback_url>',
                   'scope' => 'useraccount'
               ];

   $auth = base64_encode('<client_id>:<client_secret>');

   $res = $client->request('POST', 'https://myinstance.service-now.com/oauth_token.do', [
       'headers' => [
           'Authorization' => 'Basic ' . $auth,
           'Content-Type' => 'application/x-www-form-urlencoded'
       ],
       'form_params' => $post_data
   ]);

   dd(json_decode($res->getBody(), true)); 

响应包含访问令牌和刷新令牌。

票数 2
EN

Stack Overflow用户

发布于 2017-03-08 10:34:35

检查第二步

type=code&code={the auth code}&redirect_uri={the_same_redirect_url}&client_id={the_same_client_identifier}

你在用

grant_type=authorization_code

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42667986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档