在rails端点中有多个auth?

时间:2017-02-28 16:29:27

标签: ruby-on-rails authentication

我正在阅读一些代码,我发现有两件事我有疑问:

  1. Rails应用程序中有一个控制器端点,它使用两种auth:basic和Jwt。是必要的还是可以删除一个?

  2. 在点击端点之前,Jwt令牌被放入名为JwtAuthorization的标头中。这似乎是非标准的,因为公共标头称为Authorization。这不好吗?为什么或者为什么不?为什么必须遵守标准?

1 个答案:

答案 0 :(得分:1)

  1. 这取决于。基本身份验证和JWT是两种完全不同的身份验证方法。您需要检查代码库的其余部分,并查看两种身份验证方法之一是否冗余。我猜您已经查看了Basic身份验证和JWT是什么。如您所见,您可以同时使用它们。

  2. 这不一定是坏事。当然,遵循标准总是更好。它不仅适用于程序,也适用于人类。几乎每个人都希望在Authorization标题中找到授权信息。请注意,如果您的应用程序正在代理,某些代理可能会删除非标准标头。此外,通常命名以“X”开头的自定义标题,例如X-Custom-Header

  3. 关于标准的一般说明。你 没有遵守它们。只看一下浏览器。每个浏览器实现不同的功能有些人遵循标准规范,有些则没有。对一个人有用的东西可能不适用于另一个人。如果您计划向公众开放应用程序,最好遵守标准。如果没有,那么由您和您的团队决定。