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

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

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

域名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. boolean表达式与在if条件中的运用

    1.boolean语句 boolean 类型的数据 有两个值 false 和true; 2.在if判断的条件语句中 例如: boolean arn =false  在if 判断的括号中可以表示为 !a ...

  2. ipython notebook 安装

    pip install IPython pip install urllib3 pip install jupyter pip install numpy pip install matplotlib ...

  3. (转)SQLServer_十步优化SQL Server中的数据访问五

    第九步:合理组织数据库文件组和文件 创建SQL Server数据库时,数据库服务器会自动在文件系统上创建一系列的文件,之后创建的每一个数据库对象实际上都是存储在这些文件中的.SQL Server有下面 ...

  4. Xilinx FPGA开发随笔

    1.UCF文件 1.1.UCF作用 UCF文件主要是完成管脚的约束,时钟的约束, 以及组的约束. 1.2.UCF语法 普通IO口只需约束引脚号和电压: NET "端口名称" LOC ...

  5. 恭喜PBD终于有了自己的物理解释和模型

    之前的position based dynamic 总给人一种野路子的感觉,没有物理意义,没有对应的物理模型一切基于几何的方法. 感觉就是犀稀里哗啦将一堆堆约束按梯度方向迭代解算. 最新muller的 ...

  6. centos设置路由route

    一. route命令                        1) 查看:route -n      2)添加: route add  [-net|-host]  target [netmask ...

  7. 【Appium自学】Appium [安装包] Appium 官方文档(转发)

    转发地址:https://blog.csdn.net/panyu881024/article/details/80149190 Appium国内下载地址 : http://pan.baidu.com/ ...

  8. react基础学习 一

    1. 搭建环境 安装react脚手架  >npm install create-react-app -g 创建文件            >create-react-app 项目名称 启动 ...

  9. 使用JavaScript制作页面效果3

    一. 1.下拉列表:select对象 属性: option[ ]:选项数组 selectedIndex:被选中选项的索引号 length:选项总数 方法: add(option对象,添加位置):增加选 ...

  10. core dump 配置

    引用:http://www.cnblogs.com/secondtonone1/p/5732938.html Windows环境崩溃问题可根据vs调试工具查看,Linux同样可以查看调用堆栈的信息,只 ...