怎么在网页程序里获取微信的唯一标识

怎么在网页程序里获取微信的唯一标识,第1张

网页上不能直接获取,只能通过Oauth 20接口来获取。

但是该接口是属于高级接口,得需要给腾讯交钱的,而且只有服务号能享用。

对于订阅号来说,只能通过接口来获取。说白了,你能拿到OpenID的Session,是你服务器和微信服务器之间的Session,不是和客户之间的Session。

你接到用户发来的信息后,可以在24小时内给用户回复信息,无论是图文信息还是文字信息,都可以加入链接。此时,你可以将OpenID构造到URL里发给用户。当用户点击后,你和客户之间的Session就可以获取到他的OpenID。

因为你和客户之间的OpenID是明文满天飞,这里面要注意这么几个安全性问题:

1、发图文块的时候,要发两条信息,单条是可以被转发的,两条的话,用户就无法转发,只能删除了。避免用户将自己的OpenID泄露。

2、用户点击图文块的那张页面进去后,要隐藏右上角的分享图标。

3、要判断浏览器的UserAgent是否来自于MicroMessage

4、如果目标页面需要分享,要构造一个Form表单,用POST的方式将OpenID传过去。

5、实际项目经验中,需要对传来的参数拼在一起,做一下SHA1签名认证。

6、服务器能用SSL,就尽量用SSL,证书也不贵,大概也就3000-5000左右,让公司出钱买。

1 我找到了答案。我会接受这个答案时,我设法创建基于这些一个完全工作的解决方案。

●编号:

using MicrosoftAspNetIdentity;

UserIdentityGetUserId();

那UserIdentityIsAuthenticated和UserIdentityName将工作不添加using但GetUserId()将不存在没有它。

在MVC中5的默认模板,用户ID是作为字符串存储一个GUID。

●没有最好的做法还,但在扩展配置文件中找到:

概述Identity:

关于如何通过添加一个额外的属性来扩展配置文件示例解决方案:

2

尝试像:

var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));

ApplicationUser user = userManagerFindByNameAsync(UserIdentityName)Result;

适用于RTM。

3

试试这个:

var user = MembershipGetUser(UserIdentityName);

Guid currentUserID = (Guid)userProviderUserKey;

作品

什么是分配东西的MVC的5个最佳实践

我做在某种程度上你-在项目类中添加用户名。这是simpliest方式。

4

获取标识是非常简单的,你已经解决了。

你的第二个问题,虽然是一个涉及多一点。

所以,这是所有抢鲜东西的权利 CodeGonet,但你面临的问题是,你正在与新的属性扩展(或项目集合在你的问题)。

开箱即用的,你会得到一个名为IdentityModel在Models文件夹(在撰写本文时)。在那里你有几个班;ApplicationUser和ApplicationDbContext。添加你的收藏Items你要修改ApplicationUser类,就像你,如果这是一个正常的类,你与实体事实上,如果你把引擎盖下咋一看,你会发现,所有的身份相关的类(用户,角色等),只是现在波苏斯用适当的数据标注,使他们发挥好与EF6。

接下来,你需要做出改变AccountController构造函数,以便它知道你的DbContext。

public AccountController()

{

IdentityManager = new AuthenticationIdentityManager(

new IdentityStore(new ApplicationDbContext()));

}

现在越来越对象为您记录的是一点点深奥是诚实的。

var userWithItems = (ApplicationUser)await IdentityManagerStoreUsers

FindAsync(UserIdentityGetUserId(), CancellationTokenNone);

这条线将完成这项工作,你就可以访问userWithItemsItems像你想要的。

心连心

5

我觉得你的痛苦,我试图做的事。在我来说,我只是想清除

我创建了我所有的控制器从继承一个基控制器类。在这里面我重写OnAuthentication并设置filterContext>

获取用户OpenID

本步骤的作用:

通过输入在上一步获取的Access Token,得到对应用户身份的OpenID。

OpenID是此网站上或应用中唯一对应用户身份的标识,网站或应用可将此ID进行存储,便于用户下次登录时辨识其身份,或将其与用户在网站上或应用中的原有账号进行绑定。

本步骤在整个流程中的位置:

目录

上一步

1 请求地址

2 请求方法

3 请求参数

4 返回说明

5 错误码说明

下一步

上一步

请参见使用Implicit_Grant方式获取Access_Token

1 请求地址

移动应用:

WAP网站:

2 请求方法

GET

3 请求参数

请求参数请包含如下内容:

参数

是否必须

含义

access_token 必须 在Step1中获取到的access token。

4 返回说明

PC网站接入时,获取到用户OpenID,返回包如下:

callback( {"client_id":"YOUR_APPID","openid":"YOUR_OPENID"} );

WAP网站接入时,返回如下字符串:

client_id=100222222&openid=1704878C

openid是此网站上唯一对应用户身份的标识,网站可将此ID进行存储便于用户下次登录时辨识其身份,或将其与用户在网站上的原有账号进行绑定。

5 错误码说明

接口调用有错误时,会返回code和msg字段,以url参数对的形式返回,value部分会进行url编码(UTF-8)。

WAP网站接入时,错误码详细信息请参见:9000-9999:根据Access Token获得对应用户身份的openid时,发生错误。

下一步

OpenAPI调用说明

以上就是关于怎么在网页程序里获取微信的唯一标识全部的内容,包括:怎么在网页程序里获取微信的唯一标识、如何获得当前用户,以及如何使用User类的MVC5、如何获取查看用户的openid等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9501025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存