分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

使用开源项目Alipay.AopSdk.Core完成支付宝网页登录

发布时间:2023-09-06 01:40责任编辑:沈小雨关键词:暂无标签
核心方法:
public IActionResult UserInfoCallBackAli()
???????{
???????????var alipayClient = new DefaultAopClient(ConfigAli.ServerUrl,
???????????????????????????????????????ConfigAli.AppId,
???????????????????????????????????????ConfigAli.PrivateKey,
???????????????????????????????????????"json",
???????????????????????????????????????null,
???????????????????????????????????????"RSA2",
???????????????????????????????????????ConfigAli.AlipayPublicKey,
???????????????????????????????????????"UTF-8",
???????????????????????????????????????false);
???????????var alipayRequest = new AlipaySystemOauthTokenRequest();
???????????alipayRequest.Code = Request.Query["auth_code"];
???????????alipayRequest.GrantType = "authorization_code";
???????????var aliUser = new UsersAli();
???????????try
???????????{
???????????????var alipayResponse = alipayClient.Execute(alipayRequest); ???????????????
???????????????if (!alipayResponse.IsError)
???????????????{
???????????????????var requestUser = new AlipayUserInfoShareRequest();
???????????????????try
???????????????????{
???????????????????????var userinfoShareResponse = alipayClient.Execute(requestUser, alipayResponse.AccessToken);
???????????????????????if (!userinfoShareResponse.IsError)
???????????????????????{
???????????????????????????initUserInfo(aliUser, userinfoShareResponse);
???????????????????????????var db = DB.GetInstance();
???????????????????????????var flag = db.Queryable<UsersAli>().Where(m => m.user_id == aliUser.user_id).Any();
???????????????????????????if (!flag)
???????????????????????????{
???????????????????????????????db.Insertable<UsersAli>(aliUser).ExecuteCommand();
???????????????????????????????ViewData["json"] = "入库成功";
???????????????????????????}
???????????????????????????ViewData["json"] = "存在记录不用入库";
???????????????????????????db.Dispose();
???????????????????????}
???????????????????}
???????????????????catch(AopException ex)
???????????????????{
???????????????????????System.IO.File.AppendAllText("log", ex.ErrorMsg + "\r\n");
???????????????????????ViewData["ex"] = "出错"+ ex.ErrorMsg;
???????????????????}
???????????????}
???????????}
???????????catch(AopException ex)
???????????{
???????????????System.IO.File.AppendAllText("log", ex.ErrorMsg + "\r\n");
???????????????ViewData["ex"] = "出错"+ ex.ErrorMsg;
???????????}
???????????return View();
???????}
 
其中用到的一个工具方法
private void initUserInfo(UsersAli aliUser,AlipayUserInfoShareResponse response)
???????{
???????????aliUser.user_id = response.UserId;
???????????aliUser.avatar = response.Avatar;
???????????aliUser.nick_name = response.NickName;
???????????aliUser.city = response.City;
???????????aliUser.province = response.Province;
???????????aliUser.gender = response.Gender;
???????????aliUser.user_type = response.UserType;
???????????aliUser.is_certified = response.IsCertified;
???????????aliUser.is_student_certified = response.IsStudentCertified;
???????????//aliUser.is_balance_frozen = userinfoShareResponse.isBalanceFrozen
???????????//aliUser.address = userinfoShareResponse.address
???????????//aliUser.area = userinfoShareResponse.area
???????????//aliUser.business_scope = ?userinfoShareResponse.businessScope
???????????//aliUser.cert_no = userinfoShareResponse.certNo
???????????//aliUser.email = userinfoShareResponse.email
???????????//aliUser.license_no = userinfoShareResponse.licenseNo
???????????//aliUser.mobile = userinfoShareResponse.mobile
???????????//aliUser.person_birthday = userinfoShareResponse.personBirthday
???????}
 

使用开源项目Alipay.AopSdk.Core完成支付宝网页登录

原文地址:https://www.cnblogs.com/liulun/p/8410870.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved