在做微信开发的时候,会遇到这样的场景:一个公众号,会有多个业务:官网、论坛、商城等等

微信网页授权域名 目前最多可以填写两个!!!,那么问题来了?这应该怎么办?

答案就是: 做一个中转服务!

域名1: www.test.com

域名2: bbs.test.com

中转域名:zhongzhuan.test.com

(说明! 域名不一定非得是子域名!例如 www.baidu.com 也可以)

网上的教程大多数都是php的 C#的少之又少,现在我来给大家做一个,原理很简单,实现也很简单

话不多说,直接粘贴代码,简单的!

public class AuthController : Controller
{
//接受要跳转的url
public ActionResult Index(string redirectUri)  //redirectUri 要跳转的网页链接 例如 bbs.test.com 
{
if (string.IsNullOrWhiteSpace(redirectUri))
{
ViewBag.error = "跳转链接参数错误";
return View();
}
var gotoUri = "gotoRedirectUri=" + redirectUri;
var link = "http://zhongzhuan.test.com/Auth/AuthCode?" + gotoUri;
var uri = WxConfig.getCodeUri(link);
return Redirect(uri);
}
/// <summary>
/// 授权跳转到这里
/// </summary>
/// <param name="code">微信的code</param>
/// <param name="state">微信的state</param>
/// <param name="gotoRedirectUri">要跳转的url</param>
/// <returns></returns>
public ActionResult AuthCode(string code,string state,string gotoRedirectUri)
{
//判断code是否为空
if(string.IsNullOrWhiteSpace(code))
{
ViewBag.error = "code 为空!";
return View();
}
if(string.IsNullOrWhiteSpace(gotoRedirectUri))
{
ViewBag.error = "跳转链接不能为空!";
return View();
}
return Redirect("http://"+gotoRedirectUri+"?code="+code+"&state="+state);
}
}

所用到的类

public class WxConfig
{
private static string appId => ConfigurationManager.AppSettings["WxAppId"];
//授权页面
public static string getCodeUri(string redirect)
{
var enencodeUri = HttpUtility.UrlEncode(redirect.ToLower()); //编码
return $@"https://open.weixin.qq.com/connect/oauth2/authorize?appid={appId}&redirect_uri={enencodeUri}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
}

C# 微信网页授权多域名解决的更多相关文章

  1. php实现微信网页授权回调代理

    一个简单的php文件,实现微信网页授权回调域名的代理转发  <?php function is_HTTPS() { if (!isset($_SERVER['HTTPS'])) return F ...

  2. 解决微信OAuth2.0网页授权回调域名只能设置一个的问题

    https://github.com/HADB/GetWeixinCode GetWeixinCode 解决微信OAuth2.0网页授权回调域名只能设置一个的问题 使用方法 部署get-weixin- ...

  3. Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息

    转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静 ...

  4. 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP)

    wechat github 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP) 概述 公众号开发是痛苦的,痛苦在好多问题开发者文档是没有提到的,是需要你猜的. 在开发过程中 ...

  5. VueJs单页应用实现微信网页授权及微信分享功能

    在实际开发中,无论是做PC端.WebApp端还是微信公众号等类型的项目的时候,或多或少都会涉及到微信相关的开发,最近公司项目要求实现微信网页授权,并获取微信用户基本信息的功能及微信分享的功能,现在总算 ...

  6. 玩玩微信公众号Java版之六:微信网页授权

    我们经常会访问一些网站,用微信登录的时候需要用到授权,那么微信网页授权是怎么一回事呢,一起来看看吧!   参考官方文档:https://mp.weixin.qq.com/wiki?t=resource ...

  7. 微信网页授权封装接口——node.js版

    Wechat 网页授权 授权url:(请在微信客户端中打开此链接体验) xxx为config.js中的WECHAT_DOMAIN 1.scope为snsapi_base xxx/?route=auth ...

  8. php 微信登录 公众号 获取用户信息 微信网页授权

    php 微信登录 公众号 获取用户信息 微信网页授权 先自己建立两个文件: index.php  和  getUserInfo.php index.php <?php //scope=snsap ...

  9. 服务号使用微信网页授权(H5应用等)

    获取授权准备 AppId 服务号已经认证且获取到响应接口权限 设置网页授权域名 公众号设置 - 功能设置 - 网页授权域名.注意事项: 回调页面域名或路径需使用字母.数字及"-"的 ...

随机推荐

  1. C# 创建Datatable 并插入数据

    DataTable dt_temp = new DataTable(); dt_temp.Columns.Add("id"); dt_temp.Columns.Add(" ...

  2. Windows 7无声音的解决方案

    在使用Windows7的过程中,可能会遇到系统没有声音的问题.导致此问题的原因有以下几点: (1)电脑没有配置声音输出设备: (2)未安装声卡驱动: (3)声音输出设备硬件发生故障: (4)扬声器被禁 ...

  3. 音乐出身的妹纸,零基础学习JAVA靠谱么

    问:表示音乐出身的妹纸一枚  某一天突然觉得身边认识的是一群程序员   突然想 要不要也去试试... 众好友都觉得我该去做个老师,可是我怕我会误人子弟,祸害祖国下一代..... 要不要 要不要 学Ja ...

  4. python之数据类型详解

    python之数据类型详解 二.列表list  (可以存储多个值)(列表内数字不需要加引号) sort s1=[','!'] # s1.sort() # print(s1) -->['!', ' ...

  5. python对mysql进行简单操作

    python 连接MySQL数据库,进行简单操作 一.连接MySQL数据库,关闭连接 import pymysql db = pymysql.connect(host="xxx.xxx.x. ...

  6. python-web自动化-鼠标操作

    鼠标操作由ActionChains类来完成鼠标操作 perform() 执行鼠标操作move_to_element() 鼠标悬浮:最常用的操作double_click() 双击操作context_cl ...

  7. 【学习】如何安装GraphLab Create 【转载】

    前人走过的路不用再走,慢慢加上一些工具的链接 GraphLab Create安装,链接地址: http://www.imooc.com/article/18094?block_id=tuijian_w ...

  8. 离职有感(CVTE,创业公司,求职...)

    最近几个月,真的各种心酸......体现出来的就是对自己身体的,心里的.......6月底离职以来,一直到现在,经历了两个公司...才这么三个月,就经历了两个公司......我都忍不住怀疑自己,是不是 ...

  9. 【jira】java.lang.OutOfMemoryError: GC overhead limit exceeded

    登录JIRA访问打开缓慢,查询日志出现下述提示:java.lang.OutOfMemoryError: GC overhead limit exceeded 修改setenv.sh文件中的JVM配置, ...

  10. Synchronized总结

    一.synchronized加锁原理 synchronized可以保证方法或者代码块在运行时,同一时刻只有一个线程可以进入到临界区,同时它还可以保证共享变量的内存可见性. Java中每一个对象都可以作 ...