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

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

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

域名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. SQL对于 小数处理的小结

    DECLARE @digital INT --截断小数位 ,,)),@digital) AS 截断小数位 --上抛小数位 ,,)),@digital) AS 上抛小数位 SELECT CEILING ...

  2. ADT工具使用详解

    备注:一下内容为本人手工翻译官方文档注解,如有翻译不到位的地方,欢迎批评指正; ADT(Android开发工具)是Eclipse的插件,它提供了一套与Eclipse IDE集成的工具.它可以让您访问许 ...

  3. 记录Redis使用中遇到的两个问题(原子性及数据完整性)

    1.使用Redis作为分布式锁的原子性问题 原方案: ① SETNX $LOCK_BUSI_KEY $REQ_ID ② EXPIRE $LOCK_BUSI_KEY $LOCK_TIME 问题: 使用S ...

  4. Postman Could not get any response

    在使用postman时遇到的小问题,记录一下: 报错信息如下: Could not get any response There was an error connecting to https:// ...

  5. Android给控件添加默认点击效果

    Android控件点击效果 Android中Button控件是有点击效果的,但是像TextView.ImageView.各种Layout是没有点击效果的,给TextView设置点击事件后,加个点击效果 ...

  6. sentry的安装和使用以及各种问题处理

    官方的git地址:https://github.com/getsentry/onpremise 需要先安装docker 1.10版本以上 假设你已经安装完docker,那么接下来 安装docker-c ...

  7. 记一次使用getRequestDispatcher遇到的坑。。响应页面出现新建下载任务

    getRequestDispatcher RequestDispatcher接口提供将请求转发送到另一个资源的功能,它可能是html,servlet或jsp等. 此接口也可用于包括另一资源的内容.它是 ...

  8. Echarts属性大全(及时更新最新信息)

    echarts属性的设置(完整大全)   // 全图默认背景  // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87c ...

  9. Jmeter之数据库性能测试

    公司的**产品急待上线,但查询订单操作响应很慢,为了准确定位问题,特对几个大数据查询语句进行性能测试. 环境介绍:数据库用的MYSQL,采用分布式布置,本次单压测一台数据库服务器,查询待支付订单.待消 ...

  10. Java数组操作十大方法 (转)

    定义一个Java数组 String[] aArray = new String[5]; String[] bArray = {"a","b","c&q ...