广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >Asp.Net Core 企业微信静默授权的实现
  • 134
分享到

Asp.Net Core 企业微信静默授权的实现

net授权企业微信coreASP.NETASP 2022-06-07 22:06:41 134人浏览 独家记忆
摘要

企业微信接口文档 1. 构造授权网页链接 2.回调获取到 Code 通过code+access_token去 请求用户信息 3. 获取access_token 调试准备工

企业微信接口文档

1. 构造授权网页链接

2.回调获取到 Code 通过code+access_token去 请求用户信息

3. 获取access_token

调试准备工作 -->内网穿透+域名 推荐向日葵有免费的,免费的开发测试够用了

域名的配置成可信用

上代码 Demo下载


[apiController]
  [Route("api/[controller]")]
  public class Auth2Controller : ControllerBase
  {
    private readonly string _agentId = "1000002";
    private readonly string _secret = "Y3f8ESBIBJoC8M_FPHOlpvmghS_Nn2ceFePRVZjw9_E";
    private readonly string _corpId = "wwbf72a7a059eac0f8";
    /// <summary>
    /// 授权地址
    /// </summary>
    private readonly string _auth2url = "https://open.weixin.qq.com/connect/oauth2/authorize";
    /// <summary>
    /// 授权回调地址
    /// </summary>
    private readonly string _callbackurl = "Http:/      
      string access_token = await GetAccessToken();
      string url = $"{_getuserurl}?access_token={access_token}&code=[code]";
      HttpResponseMessage response = await _clientFactory.CreateClient().GetAsync(url);
      if (response.StatusCode == System.net.HttpStatusCode.OK)
      {
        using (var responseStream = await response.Content.ReadAsStreamAsync())
        {
          var userinfo = JSONConvert.DeserializeObject<dynamic>(new StreamReader(responseStream).ReadToEnd());
          int errcode = userinfo.errcode;
          if (errcode == 0)
          {
            //企业成员
            string UserId = userinfo.UserId;
            //外部成员
            string OpenId = userinfo.OpenId;
            
            if (UserId==null)
            {
              _memoryCache.Set<string>("UserId", OpenId);
            }
            else
            {
              _memoryCache.Set<string>("UserId", UserId);
            }
          }
          else
          {
            _logger.LogError($"getuserinfo请求错误:{userinfo.errmsg}");
            return Ok();
          }
        }
      }      
      return Redirect($"{System.WEB.HttpUtility.UrlDecode(state)}?UserId={_memoryCache.Get<string>("UserId")}");
    }
    public async Task<string> GetAccessToken()
    {
      if (_memoryCache.Get<string>("AccessToken") == null)
      {
        string url = $"{_gettokenurl}?corpid={_corpId}&corpsecret={_secret}";
        HttpResponseMessage response = await _clientFactory.CreateClient().GetAsync(url);
        if (response.StatusCode == System.Net.HttpStatusCode.OK)
        {
          using (var responseStream = await response.Content.ReadAsStreamAsync())
          {
            var access_token_result = jsonConvert.DeserializeObject<dynamic>(new StreamReader(responseStream).ReadToEnd());
            int errcode = access_token_result.errcode;
            if (errcode == 0)
            {
              string access_token = access_token_result.access_token;
              int expires_in = access_token_result.expires_in;
              _memoryCache.Set<string>("AccessToken", access_token, DateTimeOffset.Now.AddSeconds(expires_in - 10));
            }
            else
            {
              _logger.LogError($"access_token请求错误:{access_token_result.errmsg }");
            }
          }
        }
      }
      return _memoryCache.Get<string>("AccessToken");
    }
  }

到此这篇关于ASP.net core 企业微信静默授权的实现的文章就介绍到这了,更多相关Asp.net core 静默授权内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文章:ASP.Net Core学习之使用Jwt认证授权详解浅谈asp.net Core 中jwt授权认证的流程原理asp.net core 授权详解asp.net core2.2多用户验证与授权示例详解


--结束END--

本文标题: Asp.Net Core 企业微信静默授权的实现

本文链接: https://www.lsjlt.com/news/30805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Asp.Net Core 企业微信静默授权的实现
    企业微信接口文档 1. 构造授权网页链接 2.回调获取到 Code 通过code+access_token去 请求用户信息 3. 获取access_token 调试准备工...
    99+
    2022-06-07
    net 授权 企业微信 core ASP.NET ASP
  • .NET Core企业微信网页授权登录的实现
    目录1.开发前准备参数获取2.企业微信OAuth2接入流程3.构造网页授权链接4. 调用代码部分4.1 appsettings配置4.2 配置IHttpClientFactory调用...
    99+
    2022-11-13
  • .NET Core实现企业微信消息推送
    接口定义 应用支持推送文本、图片、视频、文件、图文等类型。请求方式:POST(HTTPS)请求地址: https://qyapi.weixin.qq.com/cgi-bin...
    99+
    2022-11-13
  • .NET Core如何实现企业微信消息推送
    这篇文章主要介绍了.NET Core如何实现企业微信消息推送的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇.NET Core如何实现企业微信消息推送文章都会有所收获,下面我们一起来看看吧。接...
    99+
    2023-07-02
  • 微信开发中snsapi_base和snsapi_userinfo及静默授权的示例分析
    这篇文章主要介绍了微信开发中snsapi_base和snsapi_userinfo及静默授权的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了...
    99+
    2022-10-19
  • .NET Core如何实现企业微信获取部门成员
    今天小编给大家分享一下.NET Core如何实现企业微信获取部门成员的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2023-07-02
  • Java微信授权登陆的实现示例
    前提: 微信公众平台:注册微信认证的公众号也就是服务号 ,拥有跟高级权限的微信接口。(注册服务号需要一些企业信息,需自己或者公司解决) 注: 2018年12月起 订阅号不能认证升级为...
    99+
    2022-11-12
  • springsecurity企业微信登入的实现示例
    背景 后台系统需要接入 企业微信登入,满足企业员工快速登入系统 流程图 简单代码说明 自定义一套 springsecurity 认证逻辑 主要就是 根据code 获取绑定用户信息 ...
    99+
    2022-11-13
  • java如何对接企业微信的实现步骤
    目录前言企业微信介绍调用企业微信api对接企业微信的回调前言 最近实现社群对接企业微信,对接的过程遇到一些点,在此记录。 企业微信介绍 企业微信具有和微信一样的体验,用于企业内部成员...
    99+
    2022-11-12
  • H5微信公众号授权的简单实现步骤
    前言 昨天因为有一个项目上面需要实现h5微信授权工作。所以花了两个小时来完成这个功能。​ ​ 开始工作前做的准备 流程说明【提前沟通过的流程】 微...
    99+
    2022-11-12
  • H5实现微信公众号授权的简单步骤
    本篇内容介绍了“H5实现微信公众号授权的简单步骤”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言昨天因为有一个项目上面需要实现h6微信授权...
    99+
    2023-06-20
  • python使用jenkins发送企业微信通知的实现
    如果只是想实现将jenkins的构建结果发送到企业微信进行通知,最简便的方式是安装Qy Wechat Notification Plugin插件,网上教程很多就不重复写了,可参考: 一、前言 最近使用Jenkins进...
    99+
    2022-06-02
    python 发送企业微信通知 python 企业微信通知
  • Python如何实现获取微信企业号access_token的Class
    小编给大家分享一下Python如何实现获取微信企业号access_token的Class,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一...
    99+
    2022-10-19
  • java对接企业微信的实现步骤是什么
    这篇文章给大家介绍java对接企业微信的实现步骤是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。前言最近实现社群对接企业微信,对接的过程遇到一些点,在此记录。企业微信介绍企业微信具有和微信一样的体验,用于企业内部成...
    99+
    2023-06-26
  • uni-app 微信小程序授权登录的实现步骤
    目录一、appID相关申请和配置1. appid获取方式2. appID配置二、获取用户基础数据2.1. 获取用户信息2.2. 获取用户信息2三、调用登录api3.1. 登录api3...
    99+
    2022-11-12
  • Vue3项目中优雅实现微信授权登录的方法
    目录前言 准备 实现思路 上代码 总结 前言 微信授权登录是做微信公众号开发一直绕不开的话题,而且整个授权登录流程的实现,是需要前后端配合一起完成的。在过去前后端还未分离的年代,也...
    99+
    2022-11-12
  • ASP.NET Core如何使用JWT自定义角色并实现策略授权需要的接口
    ASP.NET Core如何使用JWT自定义角色并实现策略授权需要的接口,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。① 存储角色/用户所能访问的 A...
    99+
    2023-06-26
  • Python实现企业微信通知机器人的方法详解
    目录1.准备2.配置企业微信机器人3.Python 发送企业微信通知上次介绍了如何通过钉钉进行群通知,有同学反馈自己更习惯使用企业微信或公司使用了企业微信,希望也能出个基于Pytho...
    99+
    2023-02-07
    Python企业微信通知机器人 Python企业微信通知 Python企业微信
  • Java实现企业微信消息推送功能的详细步骤
    第一步:申请企业微信注册企业(链接:https://work.weixin.qq.com/nl/sem/registes=c&from=1011017189&bd_v...
    99+
    2022-11-13
  • 微信公众号网页授权登录的超简单实现步骤
    目录前言一、微信公众号授权登录到底哪几步二、回调地址,安全域名怎么配置三、代码怎么写四、出现问题怎么办总结前言 这篇文章带大家掌握 从0到1实现微信公众平台授权登录微信公众号授权登录...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作