我正在开发一个使用REST公开服务的应用程序。这些服务将通过浏览器和非浏览器客户端访问。我预计这个软件的安装将由不同的团体拥有和管理。我想让一个系统的用户访问另一个系统的服务。他们不会共享相同的身份存储。如果用户可以对其实例进行身份验证,然后使用令牌向其实例和远程实例发出请求,那么我希望这样做。这对于JSON Web令牌(JWT)来说似乎很好用。每个系统都需要配置为信任由证书签名的其他令牌。使用JWT联合身份验证的REST身份验证/授权
我已经读过,这可以使用OAuth与JWT承载令牌完成,但是这似乎比需要更多的开销。为什么要交换不记名令牌作为访问令牌而不是使用持票人令牌?我质疑OAuth是否适合,因为它不控制系统是否可以访问用户的数据,除非网络上的许多例子,但用户是否可以访问存储在系统中的数据。
问题的下一部分是确定如何创建这些JWT令牌,看起来像WS-Trust STS是合适的。我还没有看到任何简单的认证用户并返回令牌。对于扩展令牌的有效期和令牌验证的支持可能有用吗?
在过去,我能够使用WS-Security和SAML Assertions的SOAP来启用这种类型的功能。我想看看是否可以使用REST和JWT令牌完成相同的操作。网络上有很多帖子建议不要推出自己的安全框架,所以我一直在向前推进一些犹豫。我看到微软已经增加了处理程序来处理使用JWT令牌的服务保护,所以他们似乎看到了这种方法的一些价值。
有没有人对如何在兼容标准和简单方式下完成REST服务的这种联合身份验证有所了解?