微信开发 限制页面只能在微信中打开 如何实现?

最近在做微信开发,但是一直忽略了一个问题 如何限制页面只能在微信中打开?

在PHP脚本中 可以通过判断 HTTP_USER_AGENT 来判断浏览器是否为微信内置浏览器

但今天看布丁移动下的 微车 公众平台中 很多页面限制只能在微信中打开 但是判断方式应该不是通过在脚本中判断浏览器的头信息,现请问 微车 中限制页面只能在浏览器中打开的思路是什么 ?

阅读 57.1k
7 个回答

微信里打开navigator.userAgent会有micromessenger

微车调用了微信的OAuth2.0授权

上面基本都回答了

1、js或程序判断,userAgent,是否包含micromessenger

2、js判断微信相关特有函数

3、调用oauth接口,如果不想用户感知的,可以调用scope=snsapi_base的方式,这个最后只能获得用户openid。scope=snsapi_userinfo方式,用户会看到一个授权页面,点击授权后,可以获得用户所有信息。

我现在做的项目,是微信公众号的,用户点击我们网站的时候,会去微信服务器获取用户openid,如果获取不到,就说明不是微信浏览器打开.这样用户只有在微信浏览器打开才可以进系统

前端的话最好不要通过 ua 来判断是否是微信内置浏览器,因为太容易伪造了。
这样来判断

if( typeof WeixinJSBridge !== "undefined" ) {
  return true;
}

网页用微信打开必须要做微信oauth的网页授权吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题