,微信OAuth2.0授权回调页面域名设置问题怎么解决?

用户投稿 79 0

关于“oauth_server_php”的问题,小编就整理了【2】个相关介绍“oauth_server_php”的解答:

微信OAuth2.0授权回调页面域名设置问题怎么解决?

当下的解决方案是引入一个新的非常简单的应用来作为微信授权的代理服务,可以这么做:

1. 把公众号的网页授权接口域名设置成另外一个子域名,如proxy.your.com; 2. 然后把php_weixin_proxy里面的index.php部署到proxy.your.com

php_weixin_proxy下的index.php是一个很简单的php文件,你可以直接查看源码了解它的实现方式。因为当前项目的环境,我采用php来完成这个代理服务实现,实际上,你完全可以用任意平台语言来完成类似的功能。

当其它业务需要发起微信授权时,将授权请求先发到proxy.your.com,然后proxy.your.com会把这个请求转发到微信; 当用户同意授权后,proxy.your.com会收到微信的授权回调,并把回调结果(code、state参数)原封不动地再返回给最开始发起授权的业务。

唯一的区别在于,在不使用proxy.your.com的时候,你从应用发起微信授权的链接应该是这样的: #wechat_redirect 用了proxy.your.com之后,这个授权链接就应该是这样的:

php如何创建一个带时效的token?

php创建一个带时效的token是在用户登陆时把token插入数据库,生成token方法代码,每个接口都必须调用的token验证代码,token验证方法,db::是数据库操作类,这里设置是token。如果七天没被调用则需要重新登陆(也就是说用户7天没有操作APP则需要重新登陆),如果某个接口被调用,则会重新刷新过期时间。

步骤是(1)数据库用户表添加token字段和time_out这个token过期时间字段 ,

(2)用户登陆时(注册时自动登陆也需要)生成一个token和过期时间存入表中 ,

(3)在其他接口调用前,判断token是否正确,正确则继续,错误则让用户重新登陆,

具体的原因是因为APP端没有和PC端一样的session机制,所以无法判断用户是否登陆,以及无法保持用户状态,所以就需要一种机制来实现session,这就是token的作用。

 token是用户登陆的唯一票据,只要APP传来的token和服务器端一致,就能证明你已经登陆。

到此,以上就是小编对于“oauth_server_php”的问题就介绍到这了,希望介绍关于“oauth_server_php”的【2】点解答对大家有用。

抱歉,评论功能暂时关闭!