失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 点击微信公众号菜单按钮 跳转网页授权登录

点击微信公众号菜单按钮 跳转网页授权登录

时间:2018-08-15 03:20:00

相关推荐

点击微信公众号菜单按钮 跳转网页授权登录

流程:

用户点击菜单按钮

—–> 发送页面授权请求到微信后台

—–> 得到 code 发送到 我们服务器后台的url

—–> 将 code 参数发送到微信后台获取用户的openid返回服务器上的页面(也可以直接获取用户头像等基本信息,需用户点击同意授权)

详情参照官方文档:

https://mp./wiki?t=resource/res_main&id=mp1421140842

//填写获取code的接口的路径

//添加路由

class WapWechatController extends Controller

{

public function http_curl($url){$ch = curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);$output = curl_exec($ch);curl_close($ch);return json_decode($output,true);}public function getcode(){//1.用户同意授权,获取code$appid="你的appid";$redirect_uri=urlencode("/wx/getuserinfo");$url = "https://open./connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";//跳转到回调地址的方法里header('location:'.$url);}

//携带code参数跳到getuserinfo方法

/wx/getuserinfo?code=sbnJJMJMX&state=STATE

public function getuserinfo(Request $request){//2.通过code换取网页授权access_token,openid//获取code$code= $_GET['code'];$appid="你的appid";$secret=你的secret";$url="https://api./sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";$res=$this->http_curl($url,'get');$access_token=$res['access_token'];$openid=$res['openid'];//3.拉取用户信息$url2="https://api./sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";$res2=$this->http_curl($url2,'get');//将用户信息存入数据库(举例)$insert = DB::table('user_auths')->insert(['openid' => $res2['openid'],'nickname' => $res2['nickname']]);//跳转到你要跳转的页面header('location:'.'');}

}

方法2:

将菜单 view 按钮的 url直接写为:

“https://open./connect/oauth2/authorize?appid=“+yourAppid+”&redirect_uri=”+你要跳转的url+”&response_type=code&scope=snsapi_base&state=1#wechat_redirect”

相当于直接发送页面授权请求到微信后台,将url里的code发送给后台,直接请求第二个接口获取openid,token接口即可

如果觉得《点击微信公众号菜单按钮 跳转网页授权登录》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。