苹果手机出现无法下载项目下载了出现AccessToken

access token_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
access token
access token是Windows操作系统安全性的一个概念。一个访问令牌包含了此登陆会话的安全信息。当用户登陆时,系统创建一个访问令牌,然后以该用户身份运行的的所有进程都拥有该令牌的一个拷贝。该令牌唯一表示该用户、用户的组和用户的特权。系统使用令牌控制用户可以访问哪些安全对象,并控制用户执行相关系统操作的能力。有两种令牌:主令牌和模拟的令牌。主令牌是与进程相关的;模拟的令牌是与模拟令牌的线程相关的。
access token概念
进程拥有某种令牌就表示它拥有某种特权。什么是特权呢?特权是指用户进程进行各种系统操作的权利。如:关机,加载设备,改变系统时间也是一种特权。可以对用户或用户所在的组授予特权。见图。
WinNT定义的特权
在WinNT.h头文件中定义了这些特权的名称:
#define SE_CREATE_TOKEN_NAME TEXT(&SeCreateTokenPrivilege&)
#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT(&SeAssignPrimaryTokenPrivilege&)
#define SE_LOCK_MEMORY_NAME TEXT(&SeLockMemoryPrivilege&)
#define SE_INCREASE_QUOTA_NAME TEXT(&SeIncreaseQuotaPrivilege&)
#define SE_UNSOLICITED_INPUT_NAME TEXT(&SeUnsolicitedInputPrivilege&)
#define SE_MACHINE_ACCOUNT_NAME TEXT(&SeMachineAccountPrivilege&)
#define SE_TCB_NAME TEXT(&SeTcbPrivilege&)
#define SE_SECURITY_NAME TEXT(&SeSecurityPrivilege&)
#define SE_TAKE_OWNERSHIP_NAME TEXT(&SeTakeOwnershipPrivilege&)
#define SE_LOAD_DRIVER_NAME TEXT(&SeLoadDriverPrivilege&)
#define SE_SYSTEM_PROFILE_NAME TEXT(&SeSystemProfilePrivilege&)
#define SE_SYSTEMTIME_NAME TEXT(&SeSystemtimePrivilege&)
#define SE_PROF_SINGLE_PROCESS_NAME TEXT(&SeProfileSingleProcessPrivilege&)
#define SE_INC_BASE_PRIORITY_NAME TEXT(&SeIncreaseBasePriorityPrivilege&)
#define SE_CREATE_PAGEFILE_NAME TEXT(&SeCreatePagefilePrivilege&)
#define SE_CREATE_PERMANENT_NAME TEXT(&SeCreatePermanentPrivilege&)
#define SE_BACKUP_NAME TEXT(&SeBackupPrivilege&)
#define SE_RESTORE_NAME TEXT(&SeRestorePrivilege&)
#define SE_SHUTDOWN_NAME TEXT(&SeShutdownPrivilege&)
#define SE_DEBUG_NAME TEXT(&SeDebugPrivilege&)
#define SE_AUDIT_NAME TEXT(&SeAuditPrivilege&)
#define SE_SYSTEM_ENVIRONMENT_NAME TEXT(&SeSystemEnvironmentPrivilege&)
#define SE_CHANGE_NOTIFY_NAME TEXT(&SeChangeNotifyPrivilege&)
#define SE_REMOTE_SHUTDOWN_NAME TEXT(&SeRemoteShutdownPrivilege&)
#define SE_UNDOCK_NAME TEXT(&SeUndockPrivilege&)
#define SE_SYNC_AGENT_NAME TEXT(&SeSyncAgentPrivilege&)
#define SE_ENABLE_DELEGATION_NAME TEXT(&SeEnableDelegationPrivilege&)
#define SE_MANAGE_VOLUME_NAME TEXT(&SeManageVolumePrivilege&)
#define SE_IMPERSONATE_NAME TEXT(&SeImpersonatePrivilege&)
#define SE_CREATE_GLOBAL_NAME TEXT(&SeCreateGlobalPrivilege&)
#define SE_TRUSTED_CREDMAN_ACCESS_NAME TEXT(&SeTrustedCredManAccessPrivilege&)
#define SE_RELABEL_NAME TEXT(&SeRelabelPrivilege&)
#define SE_INC_WORKING_SET_NAME TEXT(&SeIncreaseWorkingSetPrivilege&)
#define SE_TIME_ZONE_NAME TEXT(&SeTimeZonePrivilege&)
#define SE_CREATE_SYMBOLIC_LINK_NAME TEXT(&SeCreateSymbolicLinkPrivilege&)
access token取得方法
通过API函数OpenProcessToken 取得进程令牌。其定义如下:
BOOL WINAPI (
__in HANDLE ProcessHandle, //进程句柄。通过GetCurrentProcess函数取得当前进程句柄
__in DWORD DesiredAccess, //要对令牌进行何种操作。如TOKEN_ADJUST_PRIVILEGES用于调整权限
__out PHANDLE TokenHandle //进程令牌句柄
如下代码取得进程的令牌,并告诉系统我们想调整令牌的权限
if (OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES,
&hToken)) {
access token进行操作
TOKEN_ADJUST_DEFAULT
改变令牌所有者、主组或访问控制列表DACL
TOKEN_ADJUST_GROUPS
改变令牌的组属性
TOKEN_ADJUST_PRIVILEGES
enable or disable 令牌的特权
TOKEN_ADJUST_SESSIONID
调整令牌的Session ID。进程需要 SE_TCB_NAME 特权.
TOKEN_ASSIGN_PRIMARY
为进程分配主令牌。需要 SE_ASSIGNPRIMARYTOKEN_NAME 特权
TOKEN_DUPLICATE
TOKEN_EXECUTE
合并 STANDARD_RIGHTS_EXECUTE 和 TOKEN_IMPERSONATE.
TOKEN_IMPERSONATE
附加一个模拟令牌到进程
TOKEN_QUERY
TOKEN_QUERY_SOURCE
查询令牌源
TOKEN_READ
合并 STANDARD_RIGHTS_READ 和TOKEN_QUERY.
TOKEN_WRITE
合并 STANDARD_RIGHTS_WRITE, TOKEN_ADJUST_PRIVILEGES, TOKEN_ADJUST_GROUPS, 和 TOKEN_ADJUST_DEFAULT.
TOKEN_ALL_ACCESS
合并所有可能的操作
access token关联特权
TOKEN_PRIVILEGES令牌特权结构体,该结构体定义了访问令牌所拥有的一系列特权。其原型定义如下:
typedef struct _TOKEN_PRIVILEGES {
DWORD PrivilegeCount; //特权数量(的长度)
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; //特权数组
} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
其中,Privileges数组类型为 LUID_AND_ATTRIBUTES结构体,其原型定义如下:
typedef struct _LUID_AND_ATTRIBUTES {
LUID L //局部唯一标识符,代表某种特权的Value
DWORD A //Luid的属性,代表特权的属性(Enabled or Disabled)
} LUID_AND_ATTRIBUTES, *PLUID_AND_ATTRIBUTES;
其特权属性Attributes可以是如下常量:
SE_PRIVILEGE_ENABLED
使特权有效
SE_PRIVILEGE_ENABLED_BY_DEFAULT
使特权默认有效
SE_PRIVILEGE_REMOVED
移除该特权
SE_PRIVILEGE_USED_FOR_ACCESS
取得对象或服务的访问权
access token调整特权
取得特权的LUID值
首先通过LookupPrivilegeValue函数取得某种特权的LUID,通过特权的名称查找特权的LUID。
BOOL WINAPI LookupPrivilegeValue(
__in_opt LPCTSTR lpSystemName, //特权所在的系统名称,NULL表示本地系统
__in LPCTSTR lpName, //特权名称,在WInNT.h 中定义的特权名称
__out PLUID lpLuid //取得的特权的LUID
如下代码取得SE_DEBUG_NAME特权的LUID,并将特权属性设为SE_PRIVILEGE_ENABLED
TOKEN_PRIVILEGES
tp.PrivilegeCount = 1;
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tp.Privileges[0].Luid);
tp.Privileges[0].Attributes =SE_PRIVILEGE_ENABLED;
调整令牌特权
AdjustTokenPrivileges函数可以调整令牌的特权。函数定义如下:
BOOL WINAPI AdjustTokenPrivileges(
__in HANDLE TokenHandle, //令牌句柄
__in BOOL DisableAllPrivileges, //是否禁用所有特权,如为TRUE,则忽略NewState参数
__in_opt PTOKEN_PRIVILEGES NewState,//调整为NewState结构定义的特权
__in DWORD BufferLength, //PreviousState 参数的字节大小
__out_opt PTOKEN_PRIVILEGES PreviousState, 可选,调整之前的TOKEN_PRIVILEGES结构体指针
__out_opt PDWORD ReturnLength //可选,返回的结构体的长度
AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL);
access token主令牌
主令牌是由windows内核创建并分配给进程的默认访问令牌。
清除历史记录关闭微信网页授权中的access_token的问题_懒人程序
支付宝赞助帐号:
微信网页授权中的access_token的问题
微信网页授权中的access_token的问题
微信已经讲了,网页授权中的access_token和基础支持中的access_token不同,但是具体有哪些不同,并没有说清楚:
1、网页授权中的access_token,时间很短,最好是每次都重新获取
2、网页授权中的access_token,不能复用
3、网页授权中的access_token,调用次数不限
看过本文的人还看过
支持键盘 ← →微信开发中遇到的access_token坑
这真是一个巨大的坑,为了避免以后踩到同样的坑和帮助刚接触这块的同学快速脱坑,我花了些时间研究问题的来龙去脉,提供了一个不太完美的解决方案,以及未来规划的完美解决方案。
在开发微信jssdk的图像接口功能时,测试环境和回归环境都ok。但是更新到预发布环境后,功能就异常了,一直报图片下载失败。最后快到发布时间时,功能又恢复正常了。于是按照常规流程进行了发布。过了两天,收到线上反馈的问题:用户刚开始还能正常传图,用着用着就突然报错说传图失败,然后就一直不能用了。我们在测试环境模拟测试,功能又是正常的:(
这种偶现的问题一般都很难迅速定位到具体原因,而且本地和测试环境正常,预发布环境和线上异常,但是又不能进行调试。于是只能根据代码逻辑进行猜测性判断和尝试修复,中间走了大量的弯路,最后发现,删除存储access_token的redis值,再使用时功能正常。
问题暂时解决了,但这不是长久之计。于是我花了点时间阅读,发现这果真是个大坑啊!官方文档原文如下:
第一个红色框里的内容,我测试了三次,第一次连续请求13遍,access_token发生了变化;第二次连续请求12遍,access_token发生了变化;第三次连续请求19遍,access_token发生了变化。(坑一)
第二个红色框里的内容,我们有开发环境,测试环境,回归环境,预发布环境,正式环境,都是同一套代码,同一个微信号,相当于每个环境都是单独的中控服务器。(坑二)
搞清楚问题后,我们通过一些手段尝试性的触发问题现象:
1、测试环境下,清空access_token的redis数据。
2、正常测试,功能ok,查看access_token的redis内容,这里假设值为A。
3、手动调用接口刷新access_token,大概十几次后,值变化为B。
4、再次正常测试,发现功能异常(因为此时存储在redis的access_token已经过期)。
5、清空access_token的redis数据,再次测试,功能又恢复正常。
现在问题终于变成必现的了:)
现在我们搞清楚问题的原因是存储在redis的access_token可能在很短的时间内过期(因为有太多中控服务器啦),但是我们一般设置的有效期都接近或等于7200s,这就导致一旦出现问题的话,如果不清理redis,问题就会持续2小时左右,这简直就是灾难!
目前想到的比较理想的解决方案就是:服务器发现功能异常时,刷新access_token并更新redis,然后再次调用接口。这种容错机制本来是微信的事-_-!
正如开头所说,这的确是个巨坑,未来只能期望微信获取access_token的接口能够完善:
1、说好的2小时过期时间,就得保证2小时内不过期
2、返回的过期时间字段为还剩多少秒过期,而不是每次都返回7200s
然而微信并没有
微信开发中遇到的access_token坑 ,access_token失效和刷新
微信开发--获取access_token
企业微信获取access_token时遇到&errcode&:40001的问题的解决
微信公众平台开发教程第22篇-如何保证access_token长期有效
linux curl 微信access_token 时&appid missing hint&
微信开发者获取服务令牌(component_access_token){&errcode&:41002,&errmsg&:&appid missing&}
微信开发--返回码汇总与几种错误的解决
微信公共服务平台开发(.Net 的实现)5-------解决access_token过期的问题
没有更多推荐了,微信公众号获取access_token返回错误码:40164的解决方法
16:01/ 人气2255 / 评论0
近期出现的“幽灵群发”事件发引发了大家的关注,很多公众号在没有泄露账号密码的情况下,被调用了群发按钮,并且绕过了管理员和运营者直接群发。
后经过微信官方澄清,盗号者是通过获取公众平台开发者密码(Appsecret)进行群发,直接获取密码无需登陆,随意就能调用接口。
微信官方为避免因开发者密码(Appsecret)泄露对帐号造成损失,平台对调用“获取access_token”接口增加IP白名单校验:只有白名单IP才能生成公众号access_token(https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET ),开启IP白名单不影响使用access_token调用其他接口。由此,即使开发者密码(Appsecret)泄露,盗号者也无法进行群发操作。
开启步骤如下:
1、登录公众平台,进入开发-&基本配置页面。
2、点击配置进入IP白名单设置页。
3、填写IP地址列表。
4、管理员扫码确认保存。
5、调用“获取access_token”接口,返回结果。如非白名单IP调用,将返回错误码:40164,可通过wiki查看具体原因。
相关链接:
地址:云南省.昆明市环城南路668号(云纺商业区)云纺国际商厦A座18层
咨询:22 售后:32 投诉:22
电话:66     
传真:15 邮箱:
扫描左侧二维码或查找微信号:yntiandu,添加天度客服微信
版权所有 (C)
下次自动登录
请输入6-12位数字、子母组合
密码输入不符合规范
密码确认:
电子邮箱:
手机号码:
短信验证码:
点击按钮获取验证码
请用手机浏览器扫描二维码访问
或输入网址:m.ynyes.com
请用微信扫描二维码关注天度
请搜索微信公众号:天度电商圈手机游戏获取access token失败_百度知道
手机游戏获取access token失败
手机游戏获取access token失败
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
出现这个情况,有几个方面的原因;1,手机的内存不足,手机运行不了这个游戏;解决的方法是,删除一些不经常用的软件,和文件资料等等。2,下载的游戏不是官网的游戏,兼容性不好。解决的方法,卸载了换个官网的市场下载这个游戏,例如应用宝里面的游戏都是官网的。里面的游戏都是安全无毒的,可以放心下载。3,手机中毒了,安装杀毒软件杀毒就可以了。
采纳率:86%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 苹果手机下载出现需要验证 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信