微信 oath2google oauth openidd 存在哪

收藏,17.8k 浏览
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
1.openid是否有时效性?是否过1、2个小时后就会不一样?
网上搜资料看到有人说过1、2个小时会不一样,导致他的项目出问题。
2.非高级接口,从xml获取到的openid,与高级接口OAuth授权获取到的openid是否有本质上的区别?
有人说从xml获取到的openid,是有时间限制的;通过授权得到的openid才是真正的openid没时间限制的。
3.同一个微信账号使用不同设备去访问同一个公众账号,产生的openid是否一样?
有人说openid加密时加入了当前设备的硬件系统标识等信息,所以用不同设备登录微信,产生的openid不一样。如果是真的,是不是说我一台android手机、一台iphone,关注了招行信用卡,假如我是用iphone的微信绑定信用卡账号的,是不是信用卡消费时消息只会发送到iphone的设备上呢?
如果是这样,怎么做到两台设备都能收到消费消息呢?
4.如果openid是会变化的,在实现与第三方应用账号绑定时,如何做好openid的自动更新?
如果openid是会变化的,我觉得新出的模板消息就没有什么优势,因为每次重新绑定新的openid都必须由粉丝主动发送消息才能更新openid,原来的客服消息就是这样一个模式,只不过是48小时限制,过了48小时,粉丝再次发送消息,公众号才能继续向这个粉丝发送消息;
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
1openid是不会过期的
3openid只和你的微信号和服务号(订阅号)有关,跟其他无关。也就是说你在一个服务号(订阅号)的唯一标识,是按一定算法生成的,不管你有没有关注这个号,都是不会变的
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
你可以简单的理解为
openid = hash(uid + app_id)
也就是说,对每个app可以做到用户id唯一,但是这个id又不是通用的,你在其它app上同样的用户,openid会完全不同,反正你无法通过这个id获取用户的任何信息。用户信息是腾讯的命根子,它不会随便给你的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
是没有过期时间的..不像 access_token
只有 7200S的生存时间
openid 是微信用户 对公众的唯一标示,不会因为设备的不同而发生变化.
但是 每个用户对于 不同的微信公众号的 openid 是不一样的 所以微信添加一个UUID的机制
通过XML文档获取的openid 跟 通过 Oauth 获取的openid是完全一样的~
消费是发送消息 应该是通过微信的模板消息~
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
openid不会过期,是唯一的
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
借楼主的问题,我再帮忙补充一个问题哈:
如果我关注了这个公众号,那么这时生成了一个openid,然后我取消关注,然后再次关注,这个时候又会生成一次openid,那么同一个微信账户两次关注同一个公众号,所生成的openid是否一样呢?还是真如楼上一兄弟说的,openid = hash(uid + app_id)呢?
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
无论重复几次关注同一个公众号,openid都是唯一的。而不同的公众号,用户的openid就是不同的。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
多个公众号的openid会不会重复?会不会对张三的A公众号openid是123,李四的B公众号的openid也是123?
同步到新浪微博
分享到微博?
与我们一起探索更多的未知
专业的开发者技术社区,为用户提供多样化的线上知识交流,丰富的线下活动及给力的工作机会
加入只需一步
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要举报该,理由是:
扫扫下载 App
SegmentFault
一起探索更多未知微信开发自定义菜单获取OpenID
°/ 16:05/
在这篇微信公众平台开发教程中,我们将介绍如何在自定义菜单中获得用户的OpenID。 本篇开发教程的实质是微信自定义菜单及OAuth2.0授权的灵活运用。
在这篇微信公众平台开发教程中,我们将介绍如何在自定义菜单中获得用户的OpenID。 本篇开发教程的实质是微信自定义菜单及OAuth2.0授权的灵活运用。本文分为以下四个部分:拥有高级接口权限时的获取(基于view事件)没有高级接口权限时的获取(基于click事件)一、拥有高级接口权限拥有高级接口权限时,我们使用OAuth2.0授权的方式来获取。OAuth2.0的详细设置方法,请参考 在设置好授权回调页面域名之后,我们需要构造菜单,为了方便同时讲解下一小节,我们菜单构造如下{
"button": [
"type": "click",
"name": "图文获取",
"key": "图文"
"type": "view",
"name": "授权获取",
"url": "https://open./connect/oauth2/authorize?appid=wxf7323c&redirect_uri=/oauth2/&response_type=code&scope=snsapi_base&state=1#wechat_redirect"
}这样将生成两个菜单如下当点击 授权获取的时候,将访问授权页面,页面将使用OAuth2.0的方式获得openid。代码可以参考第72页。跳转后显示如下:二、没有高级接口权限对于没有高级接口权限的账号,就不能使用view事件获得OpenID,需要使用click事件来实现,实现原理就是获得接收消息中的FromUserName值,并且在url中构造openid的参数即可在自定义菜单中响应代码如下:private function receiveEvent($object)
$content = "";
switch ($object-&Event)
case "subscribe":
$content[] = array("Title"=&"欢迎关注方倍工作室",
"Description"=&"", "PicUrl"=&"li.com/weixin/weather/icon/cartoon.jpg", "Url" =&"/?u=txw1958");
case "CLICK":
switch ($object-&EventKey)
case "图文":
$content[] = array("Title"=&"OpenID", "Description"=&"你的OpenID为:".$object-&FromUserName, "PicUrl"=&"", "Url" =&"/?u=txw1958&openid=".$object-&FromUserName);
if(is_array($content)){
$result = $this-&transmitNews($object, $content);
$result = $this-&transmitText($object, $content);
}运行后效果如下所示。( 责任编辑:微信订阅 )
,欢迎分享本文,转载请保留出处!
你可能会喜欢
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
微信公众号推荐
关注 微信家园 官媒
Android APP
关注 VHome
WAP 手机网站微信oauth2接口获取用户的openid - 微信公众平台开发:微信公众号开发平台教程,技术文摘 - 红黑联盟
微信oauth2接口获取用户的openid
当微信的菜单类型是view型时,就需要通过&网页授权获取用户基本信息&接口来获取了,具体接口使用大家自己到微信公众平台去查看文档吧。这里只简述我的方法吧
如果大家view的设置链接为 /index.php?app=weixin&act=getCode
app:是类名.
act:是方法名
以下是获取openid的方法
1、用户同意授权,获取code.这一步很简单
function getCode()
  //只需将文档中的链接复制过来改为自己的,redirect_uri 参数为网址的回调,切记要用urlencode()处理下,这个网址填写你想要回调的地址,用以接受code
   $redirect_uri = urlencode('http://jiuke_/index.php?app=weixin&act=openid_show');//这里我写到控制器weixin 中的openid_show方法
$url_getcode = 'https://open./connect/oauth2/authorize?appid='.$wxconfig['appid'].'&redirect_uri='.$redirect_uri.'&response_type=code&    scope=snsapi_base&state=1#wechat_redirect';
header(&Location:{$url_getcode}&);
2、这个是用来接受上面回调所传回来的code,并处理code获得openid
function openid_show()
  $appid = '.................';//微信公众号
  $secret= '.................';//微信公众号
  if (isset($_GET['code']) && isset($_GET['state']) ){
$code = $_GET['code']; //获取code
$weixin_openid = $this-&GetOpenid($_GET['code'],$appid,$secret); //通过GetOpenid获得openid
//获取微信的openid
function GetOpenid($c_code,$appid,$secret)
$url = &https://api./sns/oauth2/access_token?appid=& . $appid . &&secret=& . $secret . &&code=& . $c_code . &&grant_type=authorization_code&;
$result = $this-&getData($url);
$jsondecode = json_decode($result);
return $jsondecode-&{&openid&};
//获取https的get请求结果
function getData($c_url)
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $c_url); // 要访问的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 执行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);//捕抓异常
curl_close($curl); // 关闭CURL会话
return $tmpI // 返回数据
看懂了也并不复杂吧,以上代码拿来就能用哦,自学的时候确实很头疼呢,现在就来造福下大家吧,为新手们造福。paip.微信菜单直接跳转url跟获取openid流程总结_redhat5 配置samb服务的进程_制造综合娱乐性平台,TCL爱奇艺电视体验记__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
paip.微信菜单直接跳转url跟获取openid流程总结
redhat5 配置samb服务的进程
制造综合娱乐性平台,TCL爱奇艺电视体验记
paip.微信菜单直接跳转url跟获取openid流程总结
paip.微信菜单直接跳转url和获取openid流程总结
paip.微信菜单直接跳转url和获取openid流程总结
#------不能直接跳转,贝儿提示不安全的链接..
#-------使用auth跳转.
//todox 直接转到。。
direct goto
ViewButton skrechCard = new ViewButton("刮刮卡o428,view," +
"https://open./connect/oauth2/authorize?" +
"appid="+appId+"&" +
"redirect_uri="+webSite+"mobile/card.jsp?actid=1" +
"&response_type=code&scope=snsapi_base&state=1" +
"#wechat_redirect");
#------auth跳转实际跳转url
这个url执行后,走自动redirect到个
webSite+"mobile/card.jsp?actid=1&code=xxxx&state=1
作者 老哇的爪子 Attilax 艾龙,
转载请注明来源: http://blog.csdn.net/attilax
#---url跳转的调试.
只要不个wlan break..奏能看见平板上显示url错误兰...
#-------获取openid
,但是view不能获取用户的openid,需与网页授权获取用户基本信息接口结合使用,获得用户的登入个人信息。
a.配置授权回调页面域名
进入微信公众平台后台后,依次进入 服务-我的服务,找到OAuth2.0网页授权,
微信自定义菜单view类型获取openid访问网页
点击右侧的修改
授权回调域名配置规范为全域名并且不带http。
这里我们填写上面的ip地址,192.168.1.1
b.通过code获得openid
String code = request.getParameter("code");//我们要的code
code说明 : code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
webPageContent( "https://api./sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code")
正确时返回json数据
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
到此我们成功获取到了用户的openid
微信自定义菜单view类型获取openid访问网页_百度经验.htm
redhat5 配置samb服务的进程
redhat5 配置samb服务的过程
在redhat下配置smb 服务很多次了,由于每次都间隔时间长,配置的时候都一路找资料配置下来,有的时候网上找的资料不一定管用,这次从一个没有装smb服务的系统上,从0开始配置,记录下来,以后配置就按照这个来进行。
我的环境是:uname -a 显示:
2.6.18-238.el5 #1 SMP Sun Dec 19 14:24:47 EST
i686 i386 GNU/Linux
1、查看系统中是否安装有smb 服务
rpm -qa|grep samb
可以看到如果列出带有samb开头的包:
samba-common-3.0.33-3.29.el5_5.1
samba-client-3.0.33-3.29.el5_5.1
samba-3.0.33-3.29.el5_5.1
说明有已经安装,如果没有列出,说明没有安装。
实际上,也可以通过查看系统服务,查看服务中是否有smb 服务来判断是否安装了该服务。
查看系统服务可以通过
setup--&system service
2、安装服务
通过第 1 步的判断没有安装,则这一步将展示安装过程,安装过程比较简单,就是找到安装包,可以从网张下载,也可以从光盘介质中安装,最好是从光盘介质中安装,这样比较全,因为安装过程中会要求安装依赖的包,光盘介质中都有。
我安装过程如下:
a、挂载光驱
iso9660 /dev/cdrom /mnt/cdrom
b、进入到光盘的Server目录进行安装
列出光盘中 samb包:
ls -l samb*
列出结果:
-r--r--r-- 171 root root 0-09-14 samba-3.0.33-3.29.el5_5.1.i386.rpm
-r--r--r-- 107 root root
0-12-07 samba3x-3.5.4-0.70.el5.i386.rpm
-r--r--r-- 107 root root 0-12-07 samba3x-client-3.5.4-0.70.el5.i386.rpm
-r--r--r-- 107 root root 0-12-07 samba3x-common-3.5.4-0.70.el5.i386.rpm
-r--r--r-- 107 root root
0-12-07 samba3x-doc-3.5.4-0.70.el5.i386.rpm
-r--r--r-- 107 root root
-12-07 samba3x-domainjoin-gui-3.5.4-0.70.el5.i386.rpm
-r--r--r-- 107 root root
0-12-07 samba3x-swat-3.5.4-0.70.el5.i386.rpm
-r--r--r-- 137 root root
0-12-07 samba3x-winbind-3.5.4-0.70.el5.i386.rpm
-r--r--r-- 137 root root
-12-07 samba3x-winbind-devel-3.5.4-0.70.el5.i386.rpm
-r--r--r-- 171 root root
0-09-14 samba-client-3.0.33-3.29.el5_5.1.i386.rpm
-r--r--r-- 219 root root
0-09-14 samba-common-3.0.33-3.29.el5_5.1.i386.rpm
-r--r--r-- 171 root root
0-09-14 samba-swat-3.0.33-3.29.el5_5.1.i386.rpm
不知道开始先安装哪个,不要紧,一眼看下来,samba-3.0.33-3.29.el5_5.1.i386.rpm 肯定是要安装的,就先装它吧:
rpm -ivh samba-3.0.33-3.29.el5_5.1.i386.rpm
这个时候会提示需要安装依赖的包,然后按照提示一个一个把依赖的包装上去,就ok。
3、配置服务
安装完毕后,需要进行配置和设置访问权限
a、编辑smb.conf 文件:
vi /etc/samb/smb.conf
shift + G 到文件最后,将[public] 的注释打开,并且修改如下:
# A publicly accessible directory, but read only, except for people in
# the "staff" group
comment = Public Stuff
path = /home/pub
public = yes
writable = yes
printable = no
write list = +staff
其中path是提供外界访问的目录,我这里是/home/pub,wq保存
b、增加访问用户
我这里增加一个pub用户
smbpasswd -a
按照提示输入密码
在/home下新建pub目录
c、启动smb 服务
service smb start
这个时候就可以在外面通过\\ip的方式访问。
d、开启开机启动
如果有设置开机启动,则在系统服务中将 smb 服务钩上(setup--&system service--&smb)
如果经过上述以后,还是不能访问,有可能是系统安装了防火墙,将防火墙关闭掉。
service iptables stop
如果能打开\\ip,但是进不了pub目录,可能是
SELinux 强制访问控制 导致,将SELinux关闭掉,
vi /etc/selinux/config
将 SELINUX
设置为 disabled,将SELINUXTYPE 注释掉,如下:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
enforcing - SELinux security policy is enforced.
permissive - SELinux prints warnings instead of enforcing.
disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
targeted - Only targeted network daemons are protected.
strict - Full SELinux protection.
#SELINUXTYPE=targeted
修改selinux后,需要重新启动 init 6。重启后可以访问。
制造综合娱乐性平台,TCL爱奇艺电视体验记
打造综合娱乐性平台,TCL爱奇艺电视体验记
TCL爱奇艺电视到手有一些日子了,虽然不敢说每个功能都玩儿了个遍,但整体上对这款智能电视还是有了一定的了解。总体上说,这款产品功能强大、体验良好,优点突出,虽然也有一些缺点,但总体上是“瑕不掩瑜”。
正如题目所说,这款产品最具代表性的一点,应该是娱乐,它属于综合性娱乐平台,完全突破了传统电视赋予我们的想象空间。说得更深入一点,近年来智能手机、平板电脑的普及为我们的生活带来了翻天覆地的变化,而智能电视将会是下一个为我们生活带来质变的电子产品。
同智能手机和平板电脑一样,TCL爱奇艺电视也安装了智能操作系统Android 4.2,因此能支持更复杂的应用,比如用户可以通过Android应用商店下载程序、游戏和工具应用。这让电视具备了可比肩智能手机和平板的特性。当然,这也是智能电视区别于普通电视的最重要的一个特性。
应用下载中心
丰富的应用程序意味着丰富的功能,使用这台电视,你能实现不同的需求,例如3D游戏、K歌、云搜索、多屏互动等等。这些功能营造出一种高层次、强互动的娱乐气氛,而且,相比PC和智能手机等终端,其大屏的优势显露无疑。笔者曾玩过其自带的3D游戏“激流快艇”,3D效果和音效相当可给力,加上超大超清晰的显示效果,这可比手游和PC游戏爽多了。
既然是TCL和爱奇艺的合作,就不得不提一下爱奇艺所扮演的重要角色。众所周知,爱奇艺是国内知名的视频网站,在高清影视剧方面,爱奇艺拥有无可比拟的优质片源,而这些资源,都将带给TCL爱奇艺电视。当然,要欣赏这些高清影视剧,必须接入网络,TCL爱奇艺电视提供了有线和无线两种方式,和PC上网几乎没有任何区别。在接入网络以后,用户就能像在PC上一样观看高清影视剧了。
电视剧《武松》
对用户而言,这将带来截然不同的观看体验,首先有大量优质高清片源可选择,而且包括3D大片,这可比看电视爽多了,因为传统电视在内容上完全受电视台的束缚,这一点很不爽;其次,这种观看方式不受时间的约束,同时又能获得最优质的视觉和听觉体验,用电脑上网看大片的时代一去不复返了。
说到看电影,自然就不得不提3D电影,刚才也提到,TCL爱奇艺电视提供了很多 3D片源,那么用这台电视看3D影片效果究竟如何呢?坦白说,比起专业的不闪式3D电视,其立体感还是有一定差距的,但是一般家庭也足够使用,你要知道,购置一台专业的3D电视价格不菲,而如今更便宜的TCL爱奇艺电视不仅能满足你对3D电影的需求,而且还能提供多元化的娱乐互动体验,何乐而不买呢?
3D影片《大闹天宫》
总的来说,在功能层面,TCL爱奇艺电视可以部分替代PC、智能手机和3D电视,当然,可能用遥控器操控各项应用还有些不太习惯,不过熟悉这些东西也就是时间问题。但能直接插无线鼠标和键盘进行控制,相当方便。
说到操控方面,TCL爱奇艺电视还是有惊喜的,例如,支持遥控器控制机顶盒;实现更方便的控制;支持语音控制,用户只需按住遥控器上的麦克风按钮,对着遥控器讲普通话,就能实现诸如换台、调整音量大小、打开日常网页、搜索互联网内容、搜索电视机节目等各种功能。
最后说一下用手机控制电视,这也是TCL爱奇艺电视的一大创新功能。用户将手机安装上爱奇艺视频客户端,并将手机和电视接入同一局域网中,就能实现手机对电视的控制,比如调整音量、播放进度,甚至将指定视频拉入电视播放,这其实是一种跨终端的控制模式。
总的来说,TCL爱奇艺电视还是相当不错,在家庭娱乐飞跃发展的时代,这样一款高性价比的产品一定能满足更复杂的家庭娱乐需求,为用户带来更创新、更刺激的体验。(文/王易见)
我的联系方式:QQ
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:17419人阅读
progLan编程语言(151)
secury信息安全(7)
paip.微信菜单直接跳转url和获取openid流程总结
#------不能直接跳转,贝儿提示不安全的链接..
#-------使用auth跳转.
//todox 直接转到。。& direct goto
&& &&& &ViewButton skrechCard = new ViewButton(&刮刮卡o428,view,& +
&& &&& &&& &&& &&https://open./connect/oauth2/authorize?& +
&& &&& &&& &&& &&appid=&+appId+&&& +
&& &&& &&& &&& &&redirect_uri=&+webSite+&mobile/card.jsp?actid=1& +
&& &&& &&& &&& &&& +
&& &&& &&& &&& &&&response_type=code&scope=snsapi_base&state=1& +
&& &&& &&& &&& &&#wechat_redirect&);
&& &&& &&& &&& &
&& &&& &&& &&& &
&& &&& &&& &&& &
#------auth跳转实际跳转url
这个url执行后,走自动redirect到个
&& &&& &&& &&& &
&& &webSite+&mobile/card.jsp?actid=1&code=xxxx&state=1
&& &作者 老哇的爪子 Attilax 艾龙,& EMAIL:
转载请注明来源: http://blog.csdn.net/attilax
#---url跳转的调试.
只要不个wlan break..奏能看见平板上显示url错误兰...&& &
#-------获取openid
,但是view不能获取用户的openid,需与网页授权获取用户基本信息接口结合使用,获得用户的登入个人信息。
a.配置授权回调页面域名
进入微信公众平台后台后,依次进入 服务-我的服务,找到OAuth2.0网页授权,
微信自定义菜单view类型获取openid访问网页
点击右侧的修改
授权回调域名配置规范为全域名并且不带http。
这里我们填写上面的ip地址,192.168.1.1
b.通过code获得openid
String code = request.getParameter(&code&);//我们要的code
code说明 : code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
txt=& webPageContent( &https://api./sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code&)
正确时返回json数据
{&& &access_token&:&ACCESS_TOKEN&,& &
&&& &expires_in&:7200, &
&&& &refresh_token&:&REFRESH_TOKEN&,& &
&&& &openid&:&OPENID&, &
&&& &scope&:&SCOPE&
到此我们成功获取到了用户的openid
微信自定义菜单view类型获取openid访问网页_百度经验.htm&& &
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2018500次
积分:32083
积分:32083
排名:第84名
原创:1265篇
评论:225条
(11)(5)(1)(9)(42)(19)(8)(12)(19)(29)(5)(8)(24)(46)(33)(26)(19)(43)(19)(30)(43)(22)(10)(31)(43)(33)(80)(56)(35)(11)(7)(31)(53)(21)(17)(4)(5)(2)(28)(82)(57)(71)(14)(8)(1)(5)(70)(11)(1)(5)(2)(1)(2)(1)

我要回帖

更多关于 openid oauth2 的文章

 

随机推荐