【问题标题】:What is the best way to perform OAuth2 authentication using akka-http?使用 akka-http 执行 OAuth2 身份验证的最佳方法是什么?
【发布时间】:2016-02-05 01:42:49
【问题描述】:

Akka HTTP 和 Spray 提供了一个 authenticateOAuth2 指令,但是 their documentation states 那个

该指令不实现完整的 OAuth2 协议,而是通过从 HTTP 标头中提取所需的令牌来实现它。

我也找不到任何为 Akka HTTP 或 Spray 实现 OAuth2 的库。是我遗漏了什么,或者这仅仅是这些库现在的状态?

【问题讨论】:

标签: scala oauth-2.0 spray akka-http


【解决方案1】:

我认为最大的问题是 OAuth2 本身并没有真正告诉你实现细节是什么样的。

引用the RFC

令牌可以表示用于检索授权的标识符 信息或可以在一个自包含的授权信息 可验证的方式(即,由一些数据和一个 签名)。额外的身份验证凭据,超出 本规范的范围内,可能需要为了 客户端使用令牌。

访问令牌可以有不同的格式、结构和方法 基于资源的利用率(例如,加密属性) 服务器安全要求。访问令牌属性和 用于访问受保护资源的方法超出了 本规范并由配套规范定义,如 作为 [RFC6750]。

例如,您可以使用JWT 来验证请求,或者您可以仅将令牌用作标识符并询问服务该资源是否允许令牌。

根据您的 OAuth2 提供者,实现可能会有所不同,所以我的猜测是该框架只能为您提供通用的东西(为您提取令牌),或者它必须实现所有可能的 OAuth2 实现,这似乎不可行点。

我个人过去曾使用过pauldijou/jwt-scala,您可能想看看。

【讨论】:

    猜你喜欢
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 2013-02-18
    • 2015-05-09
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多