php 使用 EsayWechat 网页授权

2 篇文章 0 订阅
   /**
     * 发起网页授权(非静默授权)
     * 使用了 easywechat 没用过的自行看下官网文档 https://www.easywechat.com/
     * @user AarthiModoo
     * @time 2020-01-09 10:54:10
     * @param Request $request
     * @return \Symfony\Component\HttpFoundation\RedirectResponse
     */
    public function oauth(Request $request)
    {
        $config = [
            'app_id' => env('WECHAT_APPID', '*****'), // AppID
            'secret' => env('WECHAT_SECRET', '******'), // AppSecret
            'token' => env('WECHAT_TOKEN', '*****'), // Token
            'aes_key' => env('WECHAT_AES_KEY', '*****'), // EncodingAESKey
            'log' => [
                'level' => 'info',
                'file' => storage_path('logs/wechat.log'),
            ],
            'use_laravel_cache' => true,
            'debug' => true,
            'oauth' => [
                'scopes' => ['snsapi_userinfo'],
                'callback' => '/weixin/webcallback/',
                ]
            ];
        $config['oauth']['callback'] = 'oauth/callback'; // 修改回调地址 * 需要同域,并且域名是在公众平台配置的
        $app = Factory::officialAccount($config);
        $oauth = $app->oauth;
        return $oauth->redirect(); // 去往回调
    }

    /* *
     * 授权回调方法
     * @user AarhiModoo
     * @time 2020-01-09 10:54:06
     * @param Request $request
     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Laravel\Lumen\Http\Redirector
     */
    public function oauthCallback(Request $request)
    {
        $config = [
            'app_id' => env('WECHAT_APPID', '*****'), // AppID
            'secret' => env('WECHAT_SECRET', '******'), // AppSecret
            'token' => env('WECHAT_TOKEN', '*****'), // Token
            'aes_key' => env('WECHAT_AES_KEY', '*****'), // EncodingAESKey
            'log' => [
                'level' => 'info',
                'file' => storage_path('logs/wechat.log'),
            ],
            'use_laravel_cache' => true,
            'debug' => true,
            'oauth' => [
                'scopes' => ['snsapi_userinfo'],
                'callback' => '/weixin/webcallback/',
            ]
        ]; // 微信公众号授权配置文件
        $app = Factory::officialAccount($config);
        $user = $app->oauth->user(); // 获取 OAuth 授权结果用户信息
        $unionid = $user['original']['unionid']; // 该用户唯一标识(不会变)

        /*
         * 授权完成后写逻辑,数据存库。同时记录登录标识等信息
         * */

        // 重定向到要去的页面
        $redirectUrl = 'https://blog.csdn.net/yang_yun_hao/';
        return redirect($redirectUrl);
    }

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP和H5网页授权登录是指通过使用PHP语言开发的后台逻辑和H5网页开发技术实现用户授权登录功能。 在实现过程中,通常会使用第三方登录平台(如微信、QQ、微博等)提供的开放接口来实现授权登录。首先,需要在第三方登录平台注册开发者账号,并创建应用。通过该应用的开发者后台可以获取到AppID和AppSecret等必要参数。 在PHP后台逻辑中,首先需要获取到第三方登录平台的授权登录链接,然后将链接返回给H5前端页面。前端页面通过<a>标签等形式展示该链接,用户在点击链接后会跳转至第三方登录平台的授权页面。 用户在授权页面完成授权登录后,会跳转回到之前设置的回调地址,同时带有授权码(或者是令牌)等必要信息。PHP后台逻辑通过回调地址中携带的参数,与第三方登录平台进行交互,通过AppID和AppSecret等参数,向第三方登录平台发起请求,获取用户的个人信息和授权令牌等数据。 PHP后台逻辑在获取到用户信息后,可以将用户信息存储到数据库中,或者将用户信息返回给H5前端页面进行展示。之后,用户可以在H5页面进行各种操作,例如发表评论、收藏内容等。 总的来说,PHP和H5网页授权登录是通过PHP后台逻辑和H5前端技术实现用户授权登录的一种方法。通过与第三方登录平台进行交互,可以获取到用户的个人信息和授权令牌等数据,并实现各种操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值