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 \think\Collection($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);
\app\home\logic\Auto::ali($result);
$list = \app\common\model\User::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';
\app\home\logic\CartLogic::cookieToDb();
$this->redirect($blank_url);
}

PHP实现支付宝登录的更多相关文章

  1. APP支付宝登录第三方授权如何签约入口在哪里

    最近,公司项目要接入支付宝授权登录,第三方SDK接入过不少,一顿按照流程操作.到签约的步骤的时候就把我难住了,入口一直找不到.然后在文档中心搜索“支付宝登录签约”,找到一个申请地址.心想终于找到你了, ...

  2. APP支付宝登录--PHP处理代码

    1.首先需要参数: aucth_code  udid re_id极光推送id 2.https://open.alipay.com/platform/keyManage.htm 配置公钥私钥 3.需要s ...

  3. App支付宝登录授权

    一.在支付宝开放平台申请App应用,并且配置后台信息 https://openhome.alipay.com/platform/appManage.htm#/apps 填写自己的申请信息 添加应用功能 ...

  4. 客户端app支付宝登录接口

    如下内容: $url = 'apiname=com.alipay.account.auth&app_id=APP内容&app_name=mc&auth_type=AUTHACC ...

  5. 网页版的支付宝授权登录(vue+java)

    api接口文档:https://docs.open.alipay.com/289/105656 后台管理系统原本是用账号密码登录的,不过需求要改成支付宝授权, 前端仅仅需要改登录页,以及添加一个授权返 ...

  6. MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN

    在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章.本文会涉及到Claims-based(基于声明)的认证,我们会详细 ...

  7. [转]MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN

    本文转自:http://www.cnblogs.com/jesse2013/p/aspnet-identity-claims-based-authentication-and-owin.html 在M ...

  8. 支付宝Payto接口的C#.net实现方法

    例一: using System; using System.Data; using System.Configuration; using System.Collections; using Sys ...

  9. thinkphp 3.23 第三方登录sdk集成包

    本集成包在官方包上扩展了支付宝登录和微信,支持最新的3.23版本 config    /* URL配置 */     'URL_CASE_INSENSITIVE' => true, //默认fa ...

随机推荐

  1. 类型,值,变量知识总结(js)

    文章目录: 一. 全局变量和局部变量分析 二. 从两个角度去理解变量作用域 三. 关于浮点数值计算产生舍入误差的问题分析 四. 理解js预解析 一. 全局变量和局部变量分析 在函数外部由var定义的变 ...

  2. Dynamics 365中使用计算字段自动编号字段实时工作流自动生成分组编码加流水号的自动编号字段值

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  3. Oracle转SqlServer

    基础数据所对应的类型不同 在Oracle中有一些基础类型与Sqlserver中名字一样,但是所存储的数据格式不同,Date类型在Oracle中精确到秒,在Sqlserver中只能精确到天 表的结构 O ...

  4. python基础之字符串讲解(上)

    字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或者")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.For example: 为str输入一个变量,p ...

  5. java面向对象 - 匿名对象

    一.匿名对象 1. 创建的对象,没有显示的赋给一个变量名,即为匿名对象. 2. 匿名对象只能调用一次 二.匿名对象使用 class Phone { private int price; public ...

  6. 使用系统定时器SysTick实现精确延时微秒和毫秒函数

    SysTick定时器简介 SysTick定时器是存在于系统内核的一个滴答定时器,只要是ARM Cortex-M0/M3/M4/M7内核的MCU都包含这个定时器,它是一个24位的递减定时器,当计数到 0 ...

  7. LeetCode 按序打印

    第1114题 我们提供了一个类: public class Foo {   public void one() { print("one"); }   public void tw ...

  8. Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构

    Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...

  9. .netcore2.1 ef 使用外键关联查询

    //实体类 [Table("invoiceinfo", Schema = "obs")] public class invoice { [Key] public ...

  10. 松软科技web课堂:JavaScript Math 对象

    JavaScript Math 对象允许您对数字执行数学任务. 实例 Math.PI; // 返回 3.141592653589793 Math.round() Math.round(x) 的返回值是 ...