openthos / linux-android-analysis

1 stars 0 forks source link

用户账户系统研究理解 #23

Open James6xie opened 8 years ago

James6xie commented 8 years ago

用户账户管理系统

首先,Oauth2.0 的相关介绍,用于明确我们需要实现的需求和Oauth2.0 之间的联系;

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。

Oauth的应用场景:

使用 OAuth 2.0 的流程可以简单概括为:

1.应用向豆瓣请求授权
2.豆瓣为用户显示一个授权页面,用户在此页面确认是否同意应用的请求
3.如果用户同意授权,应用会获取到一个访问令牌(access_token),通过此令牌,应用可以访问授权用户的数据。
4.如果访问需要授权的 API,请使用 HTTPS 协议,加上 access_token 的 Header,具体见获取 access_token

豆瓣支持三种 OAuth 2.0 的授权流程:

OAuth在"客户端"与"服务提供商"之间,设置了一个授权层(authorization layer)。"客户端"不能直接登录"服务提供商",只能登录授权层,以此将用户与客户端区分开来。"客户端"登录授权层所用的令牌(token),与用户的密码不同。用户可以在登录的时候,指定授权层令牌的权限范围和有效期。 "客户端"登录授权层以后,"服务提供商"根据令牌的权限范围和有效期,向"客户端"开放用户储存的资料。

基于上面的理解,分析得出OAuth关注的是授权,并不能用来做登陆或者注册,登陆注册需要考虑使用jason或者xml协议来完成,需要评审讨论之后做出决定。 由于系统涉及异构系统互联,应采用跨平台的接口语言。目前较流行的有XML规范和JSON规范,但由于前者较为复杂,故目前多数系统采用JSON协议。本系统建议基于JSON来规范接口。

以上信息参考互联网以及相关技术人员的建议,具体这块需要讨论评审。