如果SAML令牌是Passport,那么什么是OAuth承载令牌



SAML与护照的处理方式非常相似。您首先在自己的国家(主要IdP提供商)申请护照(身份注册)。您的祖国对您如何获得护照(SAML代币)有当地规定。一旦您收到您的护照(SAML代币),您就是您所在国家的认证公民。然后你可以去世界上任何其他国家旅行。大多数国家承认的不仅仅是护照。你访问的一些国家接受你的护照,就像SAML的基本主张一样。其他国家在接受时需要更多信息,如护照和签证,这是对SAML主张的更复杂的接受。有一种标准化的方法来接受身份验证,从而设计如何表示SAML断言。一旦你被另一个国家接受,他们就不需要管理你的护照。你仍然需要随身携带护照。与SAML断言非常相似,它是可接受的用户属性或权限数量。

我试图用这个比喻来理解OAuth。如果SAML令牌是Passport,那么什么是OAuth承载令牌?

我最近一直在尝试Bar Writstband对Oauth Bearer代币的隐喻。。。

简单场景:令牌作为授权会话的代理你出示了你的驾驶执照(授权类型),由前面的保镖验证。一旦他确定它不是伪造或被盗的,并且你已经达到法定饮酒年龄(授权),他就会给你一个腕带,让你当晚戴着去酒吧。明晚你需要一个不同的腕带。

扩展场景:也有范围限制的令牌酒吧服务于所有年龄段的人,所以在接受您的证书后,您会得到一个腕带,指示您是否可以点酒或只点苏打水。一个非常酷的酒吧可能会让你有一个"指定司机"腕带,你可以整晚免费获得非酒精饮料。

在这两种情况下,你只需要拿出一次证书就可以拿到腕带。之后,你可以进入酒吧,因为你带着腕带。

OAuth的目的是"授权委托"(不同于身份验证),而规范的OAuth比较是代客密钥。

代客泊车钥匙通常可以解锁驾驶员侧车门并启动汽车,但无法打开行李箱或手套箱。此密钥正常当其他人操作您的车辆时使用,例如代客泊车服务员

这迎合了这样一个事实,即"作用域"令牌可以颁发给第三方,因此现在第三方可以代表所谓的资源所有者访问资源。

FWIW:将SAML与护照进行比较并不完全正确,因为SAML令牌也适用于特定的服务提供商(在您的示例中为国家)。

最新更新