• PHP实现支付宝登录


    1.支付宝路由拼接
        public function dev()
        {
            $http = 'https://openauth.alipaydev.com/oauth2/publicAppAuthorize.htm?';
            $app_id = '';
            $scope = 'auth_user';
            $redirect_uri = urlencode('');
            $state = '0';
            $url = $http . 'app_id=' . $app_id . '&scope=' . $scope . '&redirect_uri=' . $redirect_uri . '&state=' . $state;
            $this->redirect($url);
        }

    2.支付宝的回调页面

    public function zhi()
        {
            $params = input();
            require_once './plugins/auth/AopSdk.php';
            $aop = new AopClient ();
            $aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do';
            $aop->appId = '2016100200645172';
            $aop->rsaPrivateKey = '私钥';
            $aop->alipayrsaPublicKey = '公钥';
            $aop->apiVersion = '1.0';
            $aop->signType = 'RSA2';
            $aop->postCharset = 'UTF-8';
            $aop->format = 'json';
            $request = new AlipaySystemOauthTokenRequest ();
            $request->setGrantType("authorization_code");
            $request->setCode($params['auth_code']);
            $result = $aop->execute($request);
            $result = (new 	hinkCollection($result))->toArray();
            $access_token = $result['alipay_system_oauth_token_response']->access_token ?? '';
            if (!$access_token) {
                echo json_encode(['msg' => 'code无效'], JSON_UNESCAPED_UNICODE);
            }
            $request = new AlipayUserInfoShareRequest ();
            $result = $aop->execute($request, $access_token);
            apphomelogicAuto::ali($result);
            $list = appcommonmodelUser::where('open_type', 'alipay')->where('openid', $result->alipay_user_info_share_response->user_id)->find();
            session('user_info', $list->toArray());
            $blank_url = session('blank_url') ?: 'home/index/index';
            apphomelogicCartLogic::cookieToDb();
            $this->redirect($blank_url);
        }
  • 相关阅读:
    C#生成唯一值的方法汇总
    Ajax && json在springmvc中的使用
    spring集成mybatis
    mybatis iBatis
    springjdbc
    拦截器
    系统分层
    Java反射(reflect)
    springmvc
    spring 之 使用注解简化配置
  • 原文地址:https://www.cnblogs.com/shineguang/p/11279709.html
Copyright © 2020-2023  润新知