网站内容更新机制是api,和oauth是两个概念
优采云 发布时间: 2021-04-28 23:03网站内容更新机制是api,和oauth是两个概念
网站内容更新机制是api,和oauth是两个概念。api指,谁掌握了一个httprequest的全部cookie,谁就拥有这个request的所有权。这个概念出现在“红帽”(redhat)开发的一款应用服务器中(iaas平台),在“红帽”对外的iam(系统管理平台)中也有一个api的账号的概念。可以从oauth来理解,oauth是一种用于api网站的合同安全证书(如*敏*感*词*),而api网站可以根据需要,自定义证书的密钥协商,但他仍然是一个api网站。
url在api网站里没有固定的“密钥”来保护,而是根据自身的需要来决定用什么ssl证书协商相应的api网站和这个request之间的关系。具体内容可以看这个网站:对象存储-api网站传输协议-红帽应用服务器tls1.0对象存储的第三篇(api网站传输协议)-mithurn。
从表面上看,这是oauthv1中对secretmapping(用户证书列表)和resourcemapping(资源列表)做的处理。对这些用户动态权限的校验是由oauth/auth来实现的,不是由传统的应用服务器来实现的。tls1.0没有提供secretmapping,或者说oauth/auth的secretmapping是需要通过apihook来实现的。
对象存储(对象存储上面@刘惠文的答案有很详细的解释,我就不重复了)中tls1.0和oauth/auth绑定,用于用户资源管理与鉴权,其中resourcemapping是基于oauth/auth做了一些更改,变成了:一个资源是否能作为用户表单中的请求的验证因素,取决于该资源是否对接了一个uuid(作为用户表单验证因素)一个资源可以被多个不同用户进行访问,取决于验证机制是使用了cors或者自己实现的https(sslpolicy)。
对象存储对这个uuid是不做验证的,tls1.0/oauth/auth可以任意操作,但对于用户资源中的用户签名校验(比如是否在正常的应用服务器中),是对uuid进行了验证的,因此必须通过应用服务器中心进行验证。关于https,我可以先简单说一下以前做过的node.js项目中https的一些操作。非sslpolicy环境,不进行认证,因为uuid是在sslpolicy中计算出来的,应用服务器认证身份是简单在sslpolicy中进行的。
认证后,下一步对资源进行验证,tls1.0用二进制传输,现在的tls协议,变成了和oauth2.0非对称的协议,认证后,即使用户是第三方开发者(oauth/auth用户是对第三方开发者开放的)也无法访问其资源。tls1.0可以部署在客户端也可以部署在服务端,认证后,客户端可以访问服务端已经存在的资源,服务端可以认证身份用户身份验证方式认证客户端是否是第三方开发者。