【发布时间】:2013-02-28 10:03:28
【问题描述】:
我有一个舞者网络应用程序,它既是网站又是网络服务;我的应用程序上的某些路由应该对其进行身份验证。
我为 Dancer 网络应用找到的所有身份验证解决方案都需要重定向到登录页面;虽然这对于交互式使用来说是可以的,但这对于一个安静的网络服务来说并不是最佳的。
是否有允许使用 api 密钥之类的身份验证解决方案?
【问题讨论】:
-
我对 api 密钥了解不多,因此很遗憾无法为您提供帮助。 Dancer::Cookbook 中概述的身份验证方法提供了一个类似 REST 的简单 Web 服务,用于身份验证并将身份验证详细信息存储在 dancer 会话中。我已经在基于 REST 的客户端/服务器应用程序中成功使用了这样的策略。需要注意的关键一点是,您的客户端必须能够保留会话 cookie,并在身份验证后在请求标头中提供这些信息。如果您想了解更多详情,请告诉我。
-
我认为使用会话/cookie 违反了 REST 的原则...
-
我想这取决于你看到 REST 的原理。一个原则是创建无状态服务,是的 - 使用会话违反了这一点。但是,如果您将 REST 原则视为实用地使用已建立的 Internet 技术,那么会话和 cookie 会更有意义。一位同事向我建议的类似方法是在请求标头中传递用户名和密码哈希。然后,您可以使用 Dancer 在触发前处理该标头信息。这是一种不依赖 cookie 的无状态方法 - 但可能会使经过身份验证的服务的测试变得复杂。
标签: perl authentication api-key dancer