Oauth2是什么&怎么用

一 Oauth2这个是为了方便安全的用户(第三方)登录用的。

一开始听见oauth2这个词肯定是很懵的。这是啥,鉴权用的?认证用的?授权用的?跟shiro(java)是一个东西吗?

其实oauth就是一个流程。我们根据这个流程的要求写代码、

oauth有一个授权服务器。是作为用户的认证用的。对于服务端来说只需实现一个oauth的授权服务器。对于用户来说(调用授权认证的研发)只需根据流程发请求就可以了。

 

二 Oauth 有四种实体。 下面以用QQ登陆微博为例。

资源所有者(resource owner) 我们(普通用户)

资源服务器(resource server) QQ的后台服务器(获取账号,昵称,头像等)。

应用程序(client) 微博这个平台

授权服务器(Authorization Server) 认证QQ & 授权用的。

 

三 oauth有四种方式。 目的是不把密码暴露给第三方。(即不把QQ账号密码暴露给微博)

1.授权码 authorization code 也是安全等级最高的一版。 支持refresh token    一般都用这个,微博QQ登录就是这种方式。

2.密码 password credentials 支持refresh token    这种安全等级低。谁知道client会不会偷摸存你密码不。一般内部使用

3.简化模式 implicit 不支持refresh token   这种没有获取code的步骤。请求就给token、 没get到这个的优势

4.客户端模式 client credentials 不支持refresh token   这种是被信任的内部client使用。一般内部平台间使用

注: client_id   client_secret 是用来oauth server鉴别client用的。

下面详细说明一下各个方式。简化模式就不说了。

四 客户端模式。(grant_type = client_credentials)

使用场景: 一般是内部系统之间的API调用。两个平台之间调用。调用者是以平台为单位。而不是以用户为单位。

举个简单例子:A平台调用B平台的删除API 为了防止B 平台的删除API不被随便调用(即拿到cookie就在postman等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值