PHP实现微信小程序登录

涉及到的文档:

小程序登录:https://developers.weixin.qq.com/miniprogram/dev/api/wx.login.html

服务端对小程序登录的处理:https://www.easywechat.com/docs/master/mini-program/auth

准备工作:

1.服务端使用composer安装easywechat库4.1.15或更高版本。
2.准备一个小程序公众号,得到app_id和secret

实现小程序登录:

  1. 小程序调用wx.login()方法,向服务器处理微信小程序登录的路由发出携带code的请求。

  2. 服务器通过easywechat提供的session方法,根据code获取用户openid等信息,示例代码如下:

    $app = Factory::miniProgram($config);
    $openid = '';
    $unionid = '';
    try {
        $wx_sessions = $app->auth->session($code);
        $openid = $wx_sessions['openid'];
        if (isset($wx_sessions['unionid'])) {
            $unionid = $wx_sessions['unionid'];
        }
    } catch (\Throwable $th) {
        Log::info($th->getMessage());
    }
    
    if (!$openid) {
        // 登录失败,获取不到openid
        return self::Resize(Result::Error(Result::ERR_LOGIN_OPENID), $request);
    }
    
    echo $openid;
    

3.成功登录后,服务器可以返回给客户端用户凭证,用以访问受保护资源。


如果这篇文章帮到你了,欢迎评论支持! 如果遇到问题,欢迎评论留言或者给我发邮件!(邮箱见博客主页签名)

你可能感兴趣的:(PHP)