微信授权登录

//第一种方式:只获取用户的openid
function getBaseInfo(){
//1.获取到code
$appid = "wx75f3d0f10c8567ad";
$redirect_uri = urlencode("www.test.com/test/Index/getUserOpenId");
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_base&state=123#wechat_redirect";
header("location:".$url);
}

function getUserOpenId(){
//2.获取到网页授权的access_token
$appid = "wx75f3d0f10c8567ad";
$secret = "0088c7c976aa6de93ff92e177540786f";
$code = $_GET['code'];
$url = " https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret="..$secret"&code=".$code."&grant_type=authorization_code ";
//3.拉去用户的openid
$res = $this->http_curl($url,'get');
//页面index.tpl
//$this->display('index.tpl')
var_dump($res);
}


//第二种方式:获取用户的详细信息
function getUserDetail(){
//1.获取到code
$appid = "wx75f3d0f10c8567ad";
$redirect_uri = urlencode("www.test.com/test/Index/getUserInfo");
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=".$appid."&redirect_uri=".$redirect_uri."&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";
header("location:".$url);
}

function getUserInfo(){
/2.获取到网页授权的access_token
$appid = "wx75f3d0f10c8567ad";
$secret = "0088c7c976aa6de93ff92e177540786f";
$code = $_GET['code'];
$url = " https://api.weixin.qq.com/sns/oauth2/access_token?appid=".$appid."&secret="..$secret"&code=".$code."&grant_type=authorization_code ";
//3.拉去用户的openid
$res = $this->http_curl($url,'get');
$openid = $res['openid'];
$access_token = $res['access_token'];
//拉取用户的详细信息
$url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN ";
$res = $this->http_curl($url);
var_dump($res);
}

 

//第三种方式

//控制器调用链接:$b_url='http://qidianshuge.xiaoshuo.sxylyk.com/book/api_auth/index.html?back_url='.$back_url;

//控制器实现代码:

<?php
namespace Book\Controller;

use Com\Weixin\Pay\unit\JsApiPay;
use Think\Controller;

/**
* 前端js请求接口
* @author dengsixian 1741159138@qq.com
*
*/
class ApiAuthController extends ControllerBase
{
public function __construct()
{
$back_url = I('get.back_url');
session('back_url', $back_url);
parent::__construct(true);
}
/**
* 公用授权
* @return [type] [description]
*/
public function index()
{
$uid =$this->uid;
$map = array('id' => $uid);
$user_info = M('user')->where($map)->find();
$back_url = session('back_url');
$json_user = json_encode($user_info);
if(stristr($back_url, '?')){
$b_url = $back_url.'&user_info='.urlencode($json_user);
}else{
$b_url = $back_url.'?user_info='.urlencode($json_user);
}
redirect($b_url);
exit;
}
}

转载于:https://www.cnblogs.com/zrkailml/p/7646994.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值