基于k8s Ingress Nginx+OAuth2+Gitlab无代码侵入实现自定义服务的外部验证
· 阅读需 9 分钟
OAuth和OAuth2.0介绍
OAuth是一种授权机制。数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌token,用来代替密码,供第三方应用使用。
OAuth 2.0是用于授权的行业标准协议。OAuth 2.0致力于简化客户端开发人员的工作,同时为Web应用程序,桌面应用程序,移动电话和客厅设备提供特定的授权流程。
OAuth 2.0是目前最流行的授权机制,用来授权第三方应用,获取用户数据。
应用场景
很多情况下,许多应用程序不提供内置的身份验证或开箱即用的访问控制。由于这些应用程序处理的敏感数据,这可能是一个主要问题,通常有必要提供某种类型的安全性。基于k8s部署的一些服务,并没有自身的访问认证控制机制。例如我们部署一个用于公司内部使用的web应用,又不想做基于统一账号SSO的认证功能的开发,但是又想在用户访问时加上一层认证功能。这类情况的解决思路一般是在访问入口,例如Ingress上添加一层访问认证,可以借助于basic auth实现此功能,但basic auth存在过于简单、账号权限不好控制、需要手动维护等诸多问题。