一种基于微信公众号平台使用OAuth2.0实现授权并自动登录的方法技术

技术编号:24036048 阅读:16 留言:0更新日期:2020-05-07 01:56
本发明专利技术基于微信公众号平台,特别涉及一种使用OAuth2.0实现授权并自动登录的方法:一、用户进入公众号;二、判断session是否失效,如果没,则自动登录,否则输入用户名与密码进行登录;三、获取公众号appID与appSecret,发起https请求;四、检验授权凭证;五、用户授权;六、获取用户基本信息并保存到session中;七、跳转到公众号主页。本发明专利技术解决了公众号授权安全级别不高以及每次登录公众号需要输入密码的问题。

A method of using OAuth2.0 to realize authorization and automatic login based on WeChat official account platform

【技术实现步骤摘要】
一种基于微信公众号平台使用OAuth2.0实现授权并自动登录的方法
本专利技术基于微信公众号平台,特别涉及一种基于微信公众号平台使用OAuth2.0实现授权并自动登录的方法。
技术介绍
OAuth是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站、移动或桌面应用上存储的私密的资源(如用户个人信息、照片、视频、联系人列表),而无需将用户名和密码提供给第三方应用。OAuth2.0是OAuth协议的下一版本,更关注客户端开发者的简易性,同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程,所以在进行检验用户身份时更加的安全。本专利技术针主要使用OAuth2.0的认证流程实现了更加安全的自动登录功能,解决了以往公众号授权安全级别不高、自动登录时存在着各种不安全因素的问题。
技术实现思路
本专利技术解决的技术问题在于提供一种基于微信公众号平台使用OAuth2.0实现授权并自动登录的方法;本专利技术解决了公众号授权安全级别不高以及每次登录公众号需要输入密码的问题。本专利技术解决上述技术问题的技术方案是:一、用户进入公众号;二、判断session是否失效,如果没,则自动登录,否则输入用户名与密码进行登录;三、获取公众号appID与appSecret,发起https请求;四、检验授权凭证;五、用户授权;六、获取用户基本信息并保存到session中;七、跳转到公众号主页。所述的方法具体包括如下步骤:步骤一、用户打开微信,点击公司的公众号,进入公众号页面;步骤二、根据当前用户的微信号,判断其值在session中是否存在,如果存在,则根据session中的用户信息进行自动授权验证,完毕后直接进入公众号,否则跳转到登录页面,输入用户名与密码点击登录按钮进行登录;步骤三、将从微信公众号页面获取的appID、appSecret和url以及所述步骤二获取的用户名与密码做为请求参数,发起https请求,所述的请求过程:首先创建SSLContext对象,并使用指定的信任管理器初始化;然后从上述SSLContext对象中得到SSLSocketFactory对象,并设置参数与请求方式;请求完成后将返回的输入流转换成字符串并进行返回;最后释放资源,断开连接;步骤四、检验授权凭证,所述的检验主要是根据accessToken及openid发起验证请求,然后判断结果中的errcode值,如果不为零表示可以授权,否则检验不通过;步骤五、用户授权,所述的原理是通过使用refreshToken替代accessToken进行请求,判断其返回的结果,如果不为空,表示授权成功;步骤六、获取用户基本信息并保存到session中,所述的具体过程:首先通过request获取url以及查询参数,拼接成url,然后使用自定义的httpRequest工具请求,将请求后的结果进行解析,从中获取到用户的基本信息,最后保存到session中;步骤七、跳转到公众号主页。本专利技术的有益效果:在开发公众号登录功能时,使用OAuth2.0进行用户身份认证,完成后将用户信息保存在session中,下次进入公众号时直接从session获取用户身份进行验证,实现了用户进入公众号浏览时更加安全的目的。有效地解决了以往公众号授权安全级别不高、自动登录时存在着各种不安全因素以及每次浏览时都需要输入密码的问题。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图。具体实施方式如图1所示,本专利技术采用如下步骤:步骤一、用户打开微信,点击公司的公众号,进入公众号页面;步骤二、根据当前用户的微信号,判断其值在session中是否存在,如果存在,则根据session中的用户信息进行自动授权验证,完毕后直接进入公众号,否则跳转到登录页面,输入用户名与密码点击登录按钮进行登录;步骤三、将从微信公众号页面获取的appID、appSecret和url以及所述步骤二获取的用户名与密码做为请求参数,发起https请求,所述的请求过程:首先创建SSLContext对象,并使用指定的信任管理器初始化;然后从上述SSLContext对象中得到SSLSocketFactory对象,并设置参数与请求方式;请求完成后将返回的输入流转换成字符串并进行返回;最后释放资源,断开连接;步骤四、检验授权凭证,所述的检验主要是根据accessToken及openid发起验证请求,然后判断结果中的errcode值,如果不为零表示可以授权,否则检验不通过;步骤五、用户授权,所述的原理是通过使用refreshToken替代accessToken进行请求,判断其返回的结果,如果不为空,表示授权成功;步骤六、获取用户基本信息并保存到session中,所述的具体过程:首先通过request获取url以及查询参数,拼接成url,然后使用自定义的httpRequest工具请求,将请求后的结果进行解析,从中获取到用户的基本信息,最后保存到session中;步骤七、跳转到公众号主页。本文档来自技高网...

【技术保护点】
1.一种基于微信公众号平台使用OAuth2.0实现授权并自动登录的方法,其特征在于:一、用户进入公众号;二、判断session是否失效,如果没,则自动登录,否则输入用户名与密码进行登录; 三、获取公众号appID与appSecret,发起https请求;四、检验授权凭证;五、用户授权;六、获取用户基本信息并保存到session中;七、跳转到公众号主页。/n

【技术特征摘要】
1.一种基于微信公众号平台使用OAuth2.0实现授权并自动登录的方法,其特征在于:一、用户进入公众号;二、判断session是否失效,如果没,则自动登录,否则输入用户名与密码进行登录;三、获取公众号appID与appSecret,发起https请求;四、检验授权凭证;五、用户授权;六、获取用户基本信息并保存到session中;七、跳转到公众号主页。


2.根据权利要求1所述的基于微信公众号平台的一种使用OAuth2.0实现授权并自动登录的方法,其特征在于:用户打开微信,点击公司的公众号,进入公众号页面。


3.根据权利要求1所述的基于微信公众号平台的一种使用OAuth2.0实现授权并自动登录的方法,其特征在于:根据当前用户的微信号,判断其值在session中是否存在,如果存在,则根据session中的用户信息进行自动授权验证,完毕后直接进入公众号,否则跳转到登录页面,输入用户名与密码点击登录按钮进行登录。


4.根据权利要求1所述的基于微信公众号平台的一种使用OAuth2.0实现授权并自动登录的方法,其特征在于:将从微信公众号页面获取的appID、appSecret和url以及所述步骤二获取的用户名与密码做为请求参数,发起https请求,所述的请求过程:
(1)创建SSLContext对象,并使用指定的信任管理器初始化;
(2)从上述SSLContext对象中得到SSLSocketFac...

【专利技术属性】
技术研发人员:陈林张来卿庞严冬
申请(专利权)人:珠海横琴盛达兆业科技投资有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1