身份验证和服务

时间:2017-07-09 17:16:14

标签: authentication service persistence soa

我正在设计一个面向服务的应用程序,其中与数据库的通信分布在多个服务上(身份验证服务,一些用于审计的服务以及其他用于访问数据库和执行CRUD操作等等)。

假设用户使用他的id和密码登录应用程序,然后应用程序与auth服务交谈并查明信息是否正确,一旦用户想要插入一些数据,现在应用程序使用其他服务满足用户请求。现在,如果用户是授权用户,则其他服务如何使用该服务。

1 个答案:

答案 0 :(得分:1)

您的用例似乎与SAML解决的问题非常相似。 另请看OAuth。 如果这些标准机制不适合您,您至少可以开发一种机制:

  • 验证服务在成功登录时返回令牌。该 然后,调用者应用程序应该能够使用此令牌来访问数据 服务和其他服务。
  • 数据服务应该能够独立验证令牌(可能使用身份验证服务)。
  • 您可能希望确保令牌仅在特定持续时间或特定数量的调用中保持有效

这避免了每个后端服务都需要允许访问应用程序而不使用您的登录详细信息。

另见:What is token based authentication?