通过Oauth2.0进行企业认证,企业级应用也要引导用户(员工)至授权页面吗?

背景:

  1. 公司有个企业级应用(PC客户端),企业间数据隔离。

  2. 公司要做对外接口。

  3. 负责的研发人员之前主要做对内接口,小公司也没啥权限要求,对企业授权的场景不了解。目前参考网上资料,暂定的是Oauth2.0中authorization code认证方式。

  4. 根据各大平台和网上对Oauth2.0的描述,企业应用需要①引导用户进入我方授权页→②确认授权→③获取code 后才能调用接口。

  5. 但我们面对企业客户。理论上,从企业层级授权即可。
    用户,即企业的员工,使用企业内部系统调用我方数据时,是不需要、也没有权利过问是否授权的。

    clipboard.png

问题:

  1. 我看淘宝京东,面对卖家自研应用也是需要引导至授权页进行人工授权操作的。这是为什么呢?万一员工不授权怎么办?

  2. 部分开放平台,不需要授权界面,给出一个永久code,这样做是否合理?

==================================
不是研发人员,很多技术语言描述不准确的地方,烦请指正……

阅读 4.8k
1 个回答

首先针对第二点,永久的code是重大安全漏洞,一旦泄露,不堪设想。想都不要想。

第一点,卖家自研应用,想利用淘宝,京东的用户信息,当然得用户自己授权。这些自研应用虽然在上线前得到了淘宝,京东的审核,但审核只是很初步,要求也不苛刻。淘宝和京东自然对他们的可信度存在疑问,因此采用OAuth2 Code的验证方式,需要用户显式授权。

如果你认为你的企业客户的服务器足够可信,想要减少不必要的用户授权操作,那么OAuth2 Code方式不适合,你可以使用OAuth2安全性最低的Client Credentials Grant方式。

OAuth2有4种标准验证方式,适应不同的安全性和环境的要求。你应该先了解这4种方式的使用场景,结合自己的需求选择一种。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题