关于oauth的一些想法
是自己把互联网想得太简单了,想着这些网站的注册就按照上学时候那种用户名注册就好了,但是实际情况是可以使用第三方的验证机制,我可以是用weibo登录,使用weibo登录的话,你在微博上登录自己的username/passwd,然后weibo会返回给你一个token,这个token是个很重要的参数,然后就是通过这个token可以访问限定的资源,通过这个token,可以访问微博开放出来的一些东西,比如你自己发送出来的数据,受限的数据;
这件事情对weibo是好事,weibo更可以实现互联网大航母的构想,真正做大大中台,是整个互联网的大中台,这套API甚至允许用户使用weibo的数据等内容;
OAuth是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
OAuth 允许用户提供一个令牌,而不是用户名和密码来访问他们在weibo上的资源
没有涉及到安全密钥的信息,更安全,更灵活;oauth提供了一种代表资源拥有者访问资源的方法,用访问许可交换访问令牌,包括许可的作用域,许可时间和其他的属性,客户端通过向资源服务器出示访问令牌来访问受保护的资源,
oauth在客户端和服务提供商之间提供了一个授权层,
====================
(A)用户打开客户端以后,客户端要求用户给予授权。
(B)用户同意给予客户端授权。
(C)客户端使用上一步获得的授权,向认证服务器申请令牌。
(D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
(E)客户端使用令牌,向资源服务器申请获取资源。
(F)资源服务器确认令牌无误,同意向客户端开放资源。
B是关键,即用户怎样才能给于客户端授权。有了这个授权以后,客户端就可以获取令牌,进而凭令牌获取资源。
====================
客户端必须获得用户的授权才能获得令牌
下面是我在酒仙网上使用,其实是有一个重定向的链接,然后有这了这个token之后,服务器会把这个token给保存下来
https://openapi.baidu.com/oauth/2.0/authorize?response_type=code&redirect_uri=https%3A%2F%2Flogin.jiuxian.com%2Funion%2Fcall_back.htm%3Funion%3Dbaidutuan&state=2b1314eaf70e8c6ffc77565d4382974b&client_id=msbqkzYYrefxUDkUu9vBQ4O3