标签: access-token

为什么OAuth v2同时具有访问权限和刷新令牌?

OAuth 2.0协议草案的4.2节指出授权服务器可以返回a access_token(用于向资源验证自己)以及a refresh_token,它纯粹用于创建新的access_token:

https://tools.ietf.org/html/rfc6749#section-4.2

为什么两者都有?为什么不只是做到access_token最后只要refresh_token没有refresh_token

security oauth access-token refresh-token

603
推荐指数
11
解决办法
20万
查看次数

未收到Google OAuth刷新令牌

我想从Google获取访问令牌. Google API说要获取访问令牌,请将代码和其他参数发送到令牌生成页面,响应将是一个JSON对象,如:

{
"access_token" : "ya29.AHES6ZTtm7SuokEB-RGtbBty9IIlNiP9-eNMMQKtXdMP3sfjL1Fc",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/HKSmLFXzqP0leUihZp2xUt3-5wkU7Gmu2Os_eBnzw74"
}
Run Code Online (Sandbox Code Playgroud)

但是,我没有收到刷新令牌.我的回答是:

{
 "access_token" : "ya29.sddsdsdsdsds_h9v_nF0IR7XcwDK8XFB2EbvtxmgvB-4oZ8oU",
"token_type" : "Bearer",
"expires_in" : 3600
}
Run Code Online (Sandbox Code Playgroud)

gdata-api gdata access-token

249
推荐指数
7
解决办法
10万
查看次数

如果JWT被盗怎么办?

我正在尝试使用JWT为我的RESTful API实现无状态身份验证.

AFAIK,JWT基本上是在REST调用期间作为HTTP头传递的加密字符串.

但是,如果有一个窃听者看到了请求并窃取了令牌呢?那么他能用我的身份伪造请求吗?

实际上,这种关注适用于所有基于令牌的身份验证.

怎么预防?像HTTPS这样的安全渠道?

authentication access-token jwt

170
推荐指数
5
解决办法
3万
查看次数

ASP.NET核心中基于令牌的认证

我正在使用ASP.NET Core应用程序.我正在尝试实现基于令牌的身份验证,但无法弄清楚如何在我的情况下使用新的安全系统.我经历了一些例子,但他们对我没什么帮助,他们使用的是cookie身份验证或外部身份验证(GitHub,Microsoft,Twitter).

我的场景是什么:angularjs应用程序应该请求/tokenurl传递用户名和密码.WebApi应授权用户并返回access_tokenangularjs app在以下请求中使用的内容.

我找到了很好的文章,关于在当前版本的ASP.NET中实现我所需要的 - 使用ASP.NET Web API 2,Owin和Identity进行基于令牌的身份验证.但对我来说,如何在ASP.NET Core中做同样的事情并不明显.

我的问题是:如何配置ASP.NET Core WebApi应用程序以使用基于令牌的身份验证?

c# authentication access-token asp.net-web-api asp.net-core

158
推荐指数
2
解决办法
7万
查看次数

用于页面的Facebook访问令牌

我有一个Facebook页面,我想从中获取一些东西.第一件事是提要,从我读到的它们是公开的(不需要access_token).但是我也希望得到这些事件......它们不是公开的,需要access_token.

我不希望用户登录Facebook或类似的东西.我只是想从这个唯一的页面推送所有数据.这就是为什么我已经放弃了我在这里找到的许多例子以及https://developers.facebook.com/blog/post/500/上的例子,因为他们希望用户登录或需要一些用户操作我并不感兴趣.

我想要的是我的Facebook应用程序具有完全授权和access_token来推送我拥有的这个Facebook页面(管理员)的数据.这可能吗?我已经尝试了很多东西但似乎没什么用.

我试着点击这个:https://www.facebook.com/dialog/oauth? client_id = 150635421702954 & redirect_uri = http : //MY_URL/& scope = manage_pages & response_type = token & fields = access_token - 将MY_URL更改为我的网站,并请求授权编辑每个我拥有的页面.甚至不是我想要的我点击但没有access_token作为回报...

facebook oauth facebook-page facebook-graph-api access-token

111
推荐指数
3
解决办法
16万
查看次数

基本HTTP和承载令牌认证

我目前正在开发一个REST-API,它为开发环境提供HTTP-Basic保护.由于真正的身份验证是通过令牌完成的,我仍然试图找出,如何发送两个授权头.

我试过这个:

curl -i http://dev.myapp.com/api/users \
  -H "Authorization: Basic Ym9zY236Ym9zY28=" \
  -H "Authorization: Bearer mytoken123"
Run Code Online (Sandbox Code Playgroud)

我可以为我的IP禁用HTTP身份验证,但由于我通常在具有动态IP的不同环境中工作,这不是一个好的解决方案.我错过了什么吗?

rest curl restful-authentication basic-authentication access-token

105
推荐指数
4
解决办法
29万
查看次数

Google刷新令牌会过期吗?

我在短时间内多次使用刷新令牌进行测试,但我不知道,Google刷新令牌会过期吗?或者我可以调用相同的刷新令牌以在很长一段时间(一周甚至几个月)内反复获取另一个访问令牌?

api google-api token access-token

100
推荐指数
9
解决办法
7万
查看次数

如何使用Google API客户端刷新令牌?

我一直在使用Google AnalyticsAPI(V3)并遇到了som错误.首先,一切都设置正确,并与我的测试帐户一起使用.但是,当我想从其他个人资料ID(相同的Google Accont/GA帐户)中获取数据时,我收到403错误.奇怪的是,来自某些GA帐户的数据将返回数据,而其他帐户会生成此错误.

我已经撤销了令牌并再次进行了身份验证,现在看来我可以从我的所有帐户中获取数据.问题解决了?不.由于访问密钥将过期,我将再次遇到同样的问题.

如果我理解正确,可以使用resfreshToken来获取新的authenticationTooken.

问题是,当我跑:

$client->refreshToken(refresh_token_key) 
Run Code Online (Sandbox Code Playgroud)

返回以下错误:

Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }'
Run Code Online (Sandbox Code Playgroud)

我检查了refreshToken方法背后的代码,并将请求追溯回"apiOAuth2.php"文件.所有参数都正确发送.grant_type在方法中被硬编码为'refresh_token',所以我很难理解什么是错的.参数数组如下所示:

Array ( [client_id] => *******-uqgau8uo1l96bd09eurdub26c9ftr2io.apps.googleusercontent.com [client_secret] => ******** [refresh_token] => 1\/lov250YQTMCC9LRQbE6yMv-FiX_Offo79UXimV8kvwY [grant_type] => refresh_token )
Run Code Online (Sandbox Code Playgroud)

程序如下.

$client = new apiClient();
$client->setClientId($config['oauth2_client_id']);
$client->setClientSecret($config['oauth2_client_secret']);
$client->setRedirectUri($config['oauth2_redirect_uri']);
$client->setScopes('https://www.googleapis.com/auth/analytics.readonly');
$client->setState('offline');

$client->setAccessToken($config['token']); // The access JSON object.

$client->refreshToken($config['refreshToken']); // Will return error here
Run Code Online (Sandbox Code Playgroud)

这是一个错误,还是我完全误解了什么?

php google-api google-analytics-api access-token oauth-2.0

86
推荐指数
8
解决办法
12万
查看次数

获取刷新令牌google api

我无法使用我的代码获取刷新令牌.我只能获得我的访问令牌,令牌类型等,我已经按照一些教程,比如access_type=offline输入我的登录URL:

echo "<a href='https://accounts.google.com/o/oauth2/auth?" 
    . "access_type=offline&client_id=123345555.apps.googleusercontent.com& "
    . "scope=https://www.googleapis.com/auth/calendar+https://www.googleapis.com/auth/plus.me&response_type=code& "
    . "redirect_uri=http://www.sample.com/sample.php&state=/profile'>Google</a>";
Run Code Online (Sandbox Code Playgroud)

以及我获取访问令牌的字段:

$fields=array(
    'code'=>  urlencode($authcode),
    'client_id'=> urlencode($clientid),
    'client_secret'=> urlencode($clientsecret),
    'redirect_uri'=> urlencode($redirecturi),
    'grant_type'=> 'authorization_code',
);
Run Code Online (Sandbox Code Playgroud)

但是我无法获得refresh_token,只有access_token,token_type,id_tokenexpires_in.

google-calendar-api token gdata access-token

72
推荐指数
7
解决办法
12万
查看次数

Facebook页面访问令牌 - 这些是否过期?

我正在构建一个应用程序,允许用户管理他们的Facebook粉丝页面.这需要以下两个访问令牌:

  1. 用户访问令牌
  2. 页面访问令牌

我对用户访问令牌非常熟悉,但对页面访问令牌却不熟悉.

有人知道页面访问令牌保持有效的时间吗?我在Facebook网站上找到的就是这个简洁的段落,它没有提到任何有关它到期的内容.

我是否可以假设,如果我使用权限请求用户访问令牌,则offline_access页面访问令牌也将无限期地持续(除非用户更改其密码或手动取消授权我的应用程序)?

我问,因为我想知道我应该多久查询一次Facebook Graph API并获取页面访问令牌.我应该在用户注册时简单地请求一次吗?或者,如果他们不断更改,我应该为每个API调用请求一个吗?后者显然更加沉重!

facebook facebook-page facebook-graph-api access-token

71
推荐指数
3
解决办法
4万
查看次数