微信扫码登陆/微信公交号登录PHP自适应UnionID统一用户

& lt; ?php

组件名称空间Topxia \ \ OAuthClient;
/* *
, *微信扫码登陆
, *在这里输入描述……
,
* @author管理员,*
, */
类WeixinOAuthClient延伸AbstractOAuthClient
{

,,,公共tokenURL美元;
,,,公共authorizeURL美元;
,,,公共userURL美元;

,,,公共范围="美元;
,,,公共app_key美元;
,,,公共app_secret美元;
,,,公共显示美元=";
,,,公共graphURL美元=";


,,,公共牌=array()美元;
,,,公共数组$冰毒=();

,,,公共数组$ post_login=();
,,,公共数组$ post_token=();
,,,公共数组$ post_msg=();

,,,公共职能getAuthorizeUrl (callbackUrl美元)
,,,{
,,,,,$状态=md5(时间()+兰德(0,9999));
,,,,,$ _SESSION [' weixin_state ']=$状态;

,,,,,$ url=" ";
,,,,,如果(大小写敏感($ _SERVER [' HTTP_USER_AGENT '], MicroMessenger) !==false)
,,,,,{
,,,,,,,/* *
,,,,,,,*公众号登录
,,,,,,,*在这里输入描述……
,,,,,,,* @var unknown_type
,,,,,,,*/
,,,,,,,,,
,,,,,,$ this→配置['重要']=疤炱?//用户微信公交号登录的APPID
,,,,,,,
,,,,,,$ url=" https://open.weixin.qq.com/connect/oauth3/authorize ",
,,,,,,,$ url。=? appid="。这→美元配置的关键。”,redirect_uri=" .urlencode (callbackUrl美元)。”,response_type=code&范围=snsapi_userinfo&状态=123 # wechat_redirect”;

,,,,,}
,,,,
其他,,,,{
,,,,,,,/* *
,,,,,,,*微信网页授权登录
,,,,,,,*在这里输入描述……
,,,,,,,* @var unknown_type
,,,,,,,*/
,,,,,,,$ this→authorizeURL=' https://open.weixin.qq.com/connect/qrconnect ';
,,,,,,,$ this→app_key=$这→配置(“关键”);
,,,,,,,$ this→app_secret=$这→配置['秘密'];
,,,,,,美元,这个→参数=数组(
,,,,,,,,,,,,,,,“response_type”=比;“代码”,
,,,,,,,,,,,,,,,“范围”=比;“snsapi_login”,
,,,,,,,,,,,,,,,“状态”=比;美元,
,,,,,,,);

,,,,,,=$ $ url,这→authorizeURL。‘?’;
,,,,,,$ url。=' appid='。$ this→app_key;
,,,,,,,如果(!空(callbackUrl美元))
,,,,,,,{
,,,,,,,,美元,这个→参数[' redirect_uri ']=$ callbackUrl;
,,,,,,,}
,,,,,$ url。=', ' .http_build_query ($ this→参数),
,,,,,}
,,,,返回$ url;
,,,}



,,,公共职能getAccessToken(代码,callbackUrl美元)
,,,{


,,,,,如果(大小写敏感($ _SERVER [' HTTP_USER_AGENT '], MicroMessenger) !==false)
,,,,,{
,,,,,,,/* *
,,,,,,null

微信扫码登陆/微信公交号登录PHP自适应UnionID统一用户