REST Web服务调用约定

时间:2017-07-17 07:21:20

标签: rest architecture

我的Web应用程序(比如说A)将暴露一些REST服务(GET,POST和PUT),这些服务将用于其他2个Web应用程序(比如B& C)。其他网络应用程序可以调用这些服务而无需使用A登录,同时这些服务适用于B&仅限C(稍后可能用于D,E)。

现在自B& C用户不能用A登录,我不考虑会话维护,但是,我认为A需要验证呼叫是否来自B&仅限C。我可以在REST签名中为这样的外部用户(B& C)引入user idpassword,但是想知道这种情况下的标准约定。我正在寻找你的建议。

App A基于Spring,Java基于Spring REST。我打算为会议介绍JWT。

2 个答案:

答案 0 :(得分:0)

我觉得你有点搞砸了。

  1. 永远不要在网址中传递密码,因为许多服务器会记录网址(明文 )。
  2. 为了保护Spring Application,我建议使用Spring Security
  3. 如果您确实不想维护用户会话,则可以为每个用户生成API密钥,并且用户会将该密钥附加到每个请求。此类API密钥可能由UUID.randomUUID().toString()
  4. 生成

答案 1 :(得分:0)

您希望将OAuth 2.0JWT tokens视为当前身份验证/授权流程的解决方案。

在OAuth中,您将使用身份提供程序(iDP)对用户进行身份验证并发出包含用户信息和声明的令牌,而不是将该令牌传递给信任令牌颁发者的资源提供者(API,网站等)( iDP)并且可以验证令牌的有效性。