zoukankan      html  css  js  c++  java
  • 使用开源项目Alipay.AopSdk.Core完成支付宝网页登录

    核心方法:
    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 + " ");
    ViewData["ex"] = "出错"+ ex.ErrorMsg;
    }
    }
    }
    catch(AopException ex)
    {
    System.IO.File.AppendAllText("log", ex.ErrorMsg + " ");
    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
    }
     
  • 相关阅读:
    第二阶段冲刺进程2
    第二阶段冲刺进程1
    Alpha版使用说明
    回复每组的意见的评价
    每个组针对本组提出的意见的整理
    软件项目第一次Sprint总结
    站立会议7
    站立会议6
    团队博客11
    团队博客10
  • 原文地址:https://www.cnblogs.com/liulun/p/8410870.html
Copyright © 2011-2022 走看看