什么是OAuth
1.一种安全认证的协议
2.为用户资源授权提供了一个安全的、开放而又简易的标准
3.不会使第三方触及到用户的账户信息(如账号密码等)
OAuth当中的角色
1.ServiceProvider(服务提供者)
通常来说是网站,网站中保存着一些受限制的资源,这些网站通常使用用户名和密码来确认用户身份
2.User(用户)
3.Consumer(客户)
客户是希望能够访问用户私人信息的应用程序,可以是web应用程序,桌面应用程序或者手机应用程序。Consumer需要得到授权后才能访问相应的资源
4.Protected Resources(被保护的资源)
主要来说就是前三种
认证过程
Consumer从Service拿到一个未授权的request token,等到用户登陆成功后,service会分配一个授权过的request token,Consumer通过这个token去跟Service换取access token,有了这个token就可以去访问用户数据了。这个过程中,用户是将账户密码提供给了service,也就是说consumer是没有机会接触到用户的账号密码的,这样就保证了账号密码的安全