首页 新闻 会员 周边 捐助

请教一下api接口的授权与认证的意思

0
悬赏园豆:10 [已解决问题] 解决于 2020-09-29 17:11

最近在思考微服务网关的认证与授权来保护api,我的理解的意思是用客户端访问api时,经过网关认证,认证通过则调用api,否则返回403,用户输入密码账号,认证。但是我不理解的是,假如这个网站例如淘宝他们可以不进行登录就能访问,所以不需要认证客户端就可以调用api,这就和上面理解的认证与授权不一样了,还是说别api接口的授权与认证是指别的意思。

灬丶的主页 灬丶 | 初学一级 | 园豆:9
提问于:2020-09-25 11:17
< >
分享
最佳答案
0

理解下面:
1.clientId+sceret 限制客户端应用 访问我的api
2.userinfo+password 客户端应用的用户 验证

有些api服务如商品信息只需要 我认可的客户端应用 即可访问。
有些api服务如我的订单则需要用户验证后 才可访问。

类似identityserver4的实现机制:
未登录前 客户端应用生成的访问token 的apiscopes(可以简单简单理解为权限)为 api-商品
登录后,客户端应用用户生成的token 的 apiscopes 包括 api-商品 api-我的订单

收获园豆:4
gt1987 | 小虾三级 |园豆:1150 | 2020-09-28 10:20
其他回答(3)
0

api接口泛指资源的交互。淘宝这类的软件本就是大众使用的,只是涉及到某些操作的时候就需要特定的权限。

我个人认为还有就是认证不一定是在网关做哦,最终权限还是控制在了api上。

关于API的认证以及权限有很有多种方式(参考oidc oauth 2.0)。

收获园豆:2
Jonny-Xhl | 园豆:691 (小虾三级) | 2020-09-25 13:41

那你的意思是有的接口不需要认证,那不会出现恶意的频繁访问?

支持(0) 反对(0) 灬丶 | 园豆:9 (初学一级) | 2020-09-25 13:43

@灬丶: 恶意的访问就控制在网关上的限流、熔断机制了

支持(0) 反对(0) Jonny-Xhl | 园豆:691 (小虾三级) | 2020-09-25 13:49
0

认证跟授权是两个东西,认证是你能不能访问,授权是你有没有资格

收获园豆:2
不知道风往哪儿吹 | 园豆:2037 (老鸟四级) | 2020-09-25 13:47

认证是一定要登录吗?

支持(0) 反对(0) 灬丶 | 园豆:9 (初学一级) | 2020-09-25 13:48

@灬丶: 认证和登录无关、认证就是一个身份的确认(oauth\open id connect)。

支持(0) 反对(0) Jonny-Xhl | 园豆:691 (小虾三级) | 2020-09-25 13:50

@灬丶: 登录认证只是认证的一种形式,通过账号密码认证,还有其他的认证方式,你可以了解一下jwt

支持(0) 反对(0) 不知道风往哪儿吹 | 园豆:2037 (老鸟四级) | 2020-09-25 13:51

@不知道风往哪儿吹: jwt我知道,用户第一次访问的时候肯定是没有token的,所以认证不了。

支持(0) 反对(0) 灬丶 | 园豆:9 (初学一级) | 2020-09-25 13:52

@灬丶: 如果你想携带token访问接口,第一个需要获取token,而不是去访问接口,获取了token之后,把token放到请求头里面,再去访问接口,这时候,你就可以认证了

支持(0) 反对(0) 不知道风往哪儿吹 | 园豆:2037 (老鸟四级) | 2020-09-25 13:54
0
收获园豆:2
楠木大叔 | 园豆:2083 (老鸟四级) | 2020-09-25 18:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册