博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 微信网页授权多域名解决
阅读量:6809 次
发布时间:2019-06-26

本文共 1673 字,大约阅读时间需要 5 分钟。

 

 

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

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

 

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

域名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";
}

 

转载于:https://www.cnblogs.com/HandSomeBoyIsMe/p/10069669.html

你可能感兴趣的文章
管理员取得所有权限.reg
查看>>
杭电1087
查看>>
Js跑马灯效果 && 在Vue中使用
查看>>
2017-2018-2 20179209《网络攻防》第二周作业
查看>>
ORA-12519: TNS:no appropriate service handler found 解决
查看>>
序列化对象
查看>>
javascript模式 (3)——工厂模式和装饰模式
查看>>
u-boot-2012.04.01移植笔记——支持NAND启动
查看>>
js实现全屏
查看>>
.net程序员转战android第二篇---牛刀小试
查看>>
脏数据
查看>>
Windows下命令行连接mysql及导入sql文件
查看>>
读取XML字符串到临时表
查看>>
XML教程!
查看>>
Bootstrap入门!
查看>>
题目29:计算表达式
查看>>
Java 实验五 王奕开
查看>>
docker容器持久化卷讲解
查看>>
h5 canvas
查看>>
Array循环
查看>>