我只在 cookie 中设置访问令牌。但我在cookies中也发现了CSRF_token。我不明白为什么会发生以及它是如何发生的。
看我的代码:- 设置访问令牌。
access_token = create_access_token(identity=user.id, fresh=True)
refresh_token = create_refresh_token(identity=user.id)
resp=Response.SUCCESS(data={'id': user.id, 'refresh_token': refresh_token})
set_access_cookies(resp,access_token)
return resp
Run Code Online (Sandbox Code Playgroud)
饼干
当我使用@jwt_requiured((locations=['cookies'],fresh=True) 它时返回Missing CSRF token。在这里,我需要通过 header 传递 CSRF 令牌。有谁知道这里发生了什么?我应该做什么?
python access-token flask-restful flask-jwt-extended csrf-token
我现在在处理从 Google Identity Services 收到的访问令牌时遇到了麻烦。
有关此案的一些细节。我有全栈应用程序,后端基于Spring/Webflux/Hibernate-Reactive,前端基于React。我正在使用 Google Identity Services 的 google 登录功能以及此反应库@react-oauth/google。
我正在使用成功登录后收到的“凭据”进行后端访问。一切都按预期工作,只是成功登录后响应中没有刷新令牌。令牌在 1 小时后过期,必须提示用户重新登录才能收到新令牌,这太可怕了!
那么,如何刷新这个令牌,有什么想法吗?
我在谷歌方面找不到更多信息,这就是我在这里写下的原因。
我尝试通过 API 请求访问 Google 用户信息;
https://www.googleapis.com/oauth2/v1/userinfo?access_token=ya29.a0Ael9sCMYNzgxZT27Cb....
Run Code Online (Sandbox Code Playgroud)
我得到的回复只是 ID 和个人资料图片:
{
"id": "1.....",
"picture": "https://lh3.googleusercontent.com/a-/ACB-R5Sg...."
}
Run Code Online (Sandbox Code Playgroud)
我需要更多用户信息:电子邮件、姓名等。
我已在开发人员控制台中添加了 user.profile 和 userinfo.email 以及 userinfo.profile 范围。
我知道添加的范围可能需要 5 分钟甚至几个小时才能工作,但我在大约 12 小时前添加了它。
如何修复我的 API REST 调用以从 Google API 获取更多用户信息?
编辑
这个问题是相同的,但答案对我不起作用。这个请求:
https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses&access_token=ya29.a0...&key=498...apps.googleusercontent.com
Run Code Online (Sandbox Code Playgroud)
给我带来了Request had insufficient authentication scopes错误。
也许我在那里提供了错误的密钥?那么 api 密钥应该是什么,它来自凭证页面的客户端 ID 吗?
我构建了一个FB应用程序,它执行以下操作:
1)将初始请求重定向到FB,以便进行身份验证/登录,如下所示:
2)在servlet中,获取"code"参数(这是signed_request?):
String signedReq = request.getParameter("code");
// the String retrieved from the code parameter is:
// 3DaDJXq1Mlsq67GbeudlUxu7bY5Um4hSJlwzoPCHhp4.eyJpdiI6Ikc1ODNuRjZXbnhCb0hUV1FEMVNTQUEifQ._iXKxSGiNHfc-i5fRO35ny6hZ03DcLwu4bpAkslqoZk6OfxW5Uo36HwhUH2Gwm2byPh5rVp2kKCNS6EoPEZJzsqdhZ_MhuUD8WGky1dx5J-qNOUqQK9uNM4HG4ziSgFaAV8mzMGeUeRo8KSL0tcKuq
Run Code Online (Sandbox Code Playgroud)
3)如何从此String获取OAuth令牌?
提前致谢!中号
我对我的第一个Facebook应用程序项目感到非常沮丧.我在看似简单的任务时遇到了重大问题.
我想在我的服务器上设置一个cron作业(简单),它会在Facebook页面上发布一些智能(不是我的个人资料),它应该作为页面发布.我把自己编成了一个角落,现在我完全糊涂了......请有人帮忙吗?
我几乎每一条错误消息都已经过了,而且我现在停留在" OAuthException:验证应用程序时出错 ".
这就是我现在拥有的:
首先是php - >为我的页面访问获取一个新的访问令牌.这部分似乎工作正常,因为我调用了下一页并接收了一个新的访问令牌.
<?php
require_once 'facebook.php';
$app_id = "1234....";
$app_secret = "5678....";
$my_url = "http://.../next.php";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
// known valid access token stored in a database
$access_token = "abc....";
$code = $_REQUEST["code"];
// If we get a code, it means that we have re-authed the user
//and can get a valid access_token.
if (isset($code)) {
$token_url="https://graph.facebook.com/oauth/access_token?
client_id="
. $app_id . "&redirect_uri=" . …Run Code Online (Sandbox Code Playgroud) http://developer.linkedin.com/documents/authentication(部分:刷新访问令牌)
该段说
LinkedIn访问令牌可以在60天内刷新
另一方面,它还说客户端应用程序可以跟踪令牌创建日期并将其与oauth_expires_in value(以秒为单位)进行比较,并在需要时刷新令牌.
但是,oauth_expires_in=599当我调用请求令牌端点时,我只得到(秒).
当我检索请求令牌时
oauth_token=xxxxx&oauth_token_secret=xxxxx&oauth_callback_confirmed=true&xoauth_request_auth_url=https://api.linkedin.com/uas/oauth/authorize&,这是我得到的响应:oauth_expires_in=599
我没有收到这样的参数来响应访问令牌请求:
https[://]www[.]linkedin[.]com/uas/oauth/authorize/submit?oauth_token=xxx&oauth_verifier=xxx
有人可以解释一下吗?
PS:用[]更改了网址,因为由于缺乏声誉,它不允许我发布超过2个网址.
TIA.
我已经通过使用GitHub API3将github成功集成到了我的ios App中。
但我的问题是我无法删除/撤消访问令牌。
我尝试了以下代码
NSString * querystr= @"https://api.github.com/authorizations";
// i tried this url url also https://api.github.com/authorizations?client_id=1234yyrhrh
NSMutableURLRequest *request2 = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:querystr]];
[NSURLConnection sendAsynchronousRequest:request2 queue:theQ
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{
NSArray * array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"%@",array);
}];
Run Code Online (Sandbox Code Playgroud)
我没有收到任何错误,但是数组正在打印以下消息
"documentation_url" = "http://developer.github.com/v3";
message = "Not Found";
Run Code Online (Sandbox Code Playgroud)
提前致谢
在插入,我应该怎么唯一设置的值access_token,以一个随机字符串和值返回给客户端?
我有:
CREATE TABLE user (
id serial PRIMARY KEY,
access_token char(32) NOT NULL UNIQUE,
joined timestamp with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP
);
Run Code Online (Sandbox Code Playgroud)
数据库服务器:PostgreSQL
应用服务器:Sinatra(Ruby)
客户端:iOS
我使用Meteor作为应用程序框架,并使用该accounts-google软件包对用户进行身份验证。使用帐户包非常好,因为它可以处理获取访问令牌,在到期时刷新令牌等所有繁琐的工作。但是,我希望获得有关用户的更多配置文件信息,而不是Meteor.user()对象中填充的信息。
借助Facebook,我能够轻松地使用Meteor.user().services.facebook.accessToken和遵循API上的文档来加载其客户端JS库并发出图api请求:
https://developers.facebook.com/docs/javascript/reference/FB.api
在引用Google的JavaScript API时,文档指出,在进行API调用时,该请求会自动包括访问令牌,但仅在使用gapi处理授权请求时才包含。
https://developers.google.com/api-client-library/javascript/features/authentication#MakingtheAPI请求
当依赖第三方授权包时(或当您的应用程序从客户端处理Google的身份验证时),这没有帮助。
是否可以使用gapi.client库方法在请求中使用现有访问令牌?
我正在使用Picasso组件将我的图像从网址加载到ImageView.问题是我需要在标头中传递身份验证令牌以及URL,以确保我可以访问它.
如何使用Picasso组件将身份验证令牌与URL一起传递?
access-token ×10
oauth ×3
facebook ×2
android ×1
api ×1
csrf-token ×1
gapi ×1
github-api ×1
google-api ×1
google-oauth ×1
ios ×1
java ×1
javascript ×1
jwt ×1
linkedin ×1
meteor ×1
objective-c ×1
php ×1
picasso ×1
postgresql ×1
python ×1
reactjs ×1
rest ×1
xamarin ×1