如题。官方文档上面只有跳转支付宝同意登录页面的URL拼接。请问如何把登录二维码内嵌到自己的页面中?
4条回答 默认 最新
- CSDN专家-showbo 2021-07-27 10:44关注
你这个过程其实类似微信认证的服务号扫码登录差不多,二维码内容可以为支付宝授权的网址,回调网页增加一个GUID参数,因为到时用户信息要存储到application这种全局变量中完成信息共享(java不清楚是否有application,不过应该存在所有用户都可以共享的对象,注意是所有用户访问到,不是session,session只有当前访问用户访问到,和下面说的2个步骤,是2个不同的session)。
当用户扫二维码后,会出现2个步骤
1)手机会跳转到授权页面,授权后跳转到你的回调网址,回调页面获取guid及支付宝相关的用户信息(如user_id,支付宝唯一id,类似微信公众号的openid),判断user_id是否注册过,未注册注册或者绑定账号什么的(操作完毕后和注册过的步骤一样通过guid设置用户身份信息),如果注册过则读取用户信息通过guid值设置共享信息为此用户的相关身份信息。
2)扫码后防止二维码的页面setInterval启动计时器+ajax轮训服务器,附带上guid值轮训服务器的共享信息,如果存在此guid的值,则设置用户身份,返回一个标记,如1表示扫码成功,然后轮训结果为1则跳转到用户后台或者上次访问页面即可。有帮助麻烦点个采纳【本回答右上角】,谢谢~~
string guid=...//java生成guid的代码; string callback = "http://你的域名域名/oauth/alipay.ashx?guid=xxxxxxxx&op=getalipayinfo";//设置guid,op参数可以省略,不过建议加上,方便区分操作。如果省略需要判断guid不为空执行获取支付宝信息操作,否则跳转支付宝授权网址 string url = "https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=" + AlipayConfig.app_id + "&scope=auth_user&redirect_uri=" + context.Server.UrlEncode(callback);//这个就是二维码存储的地址
解决 1无用
悬赏问题
- ¥15 欧拉系统opt目录空间使用100%
- ¥15 ul做导航栏格式不对怎么改?
- ¥20 用户端如何上传图片到服务器和数据库里
- ¥15 现在研究生在烦开题,看了一些文献,但不知道自己要做什么,求指导。
- ¥30 vivado封装时总是显示缺少一个dcp文件
- ¥100 pxe uefi启动 tinycore
- ¥15 我pycharm运行jupyter时出现Jupyter server process exited with code 1,然后打开cmd显示如下
- ¥15 可否使用carsim-simulink进行四轮独立转向汽车的联合仿真,实现四轮独立转向汽车原地旋转、斜向形式、横移等动作,如果可以的话在carsim中如何进行相应设置
- ¥15 Caché 2016 在Java环境通过jdbc 执行sql报Parameter list mismatch错误,但是同样的sql使用连接工具可以查询出数据
- ¥15 疾病的获得与年龄是否有关