如何使用authenticate指令执行基于令牌的身份验证?

罗德里戈·奇富恩特斯·戈麦斯

我正在基于令牌的身份验证,并且我不知道如何authenticate在我的路由中使用指令:

access_token从标题中获取

post {
  headerValueByName("Access_Token") {
    access_token => {
      authenticate(??????){
        user => {
          ......
          ......
       }
      }
    }
  }
}

我该如何认证?

4lex1v

有几种方法可以执行此操作,您可以使用flavian建议的某些库执行此操作,也可以自己执行。Authenticate指令的作用不大,我只是“执行” Spray提供的标准身份验证机制,您可以在此处阅读有关它们的信息如果这不是您想要的或不了解如何执行此操作,请举一个小例子。

让我们想象一下令牌身份验证的最简单情况,您的令牌被保存在某些存储中,并且仅通过比较它们就可以验证用户身份。所以我们有这个功能:

def validate(token: AuthToken): Future[Authentication[User]] = {
  torage.findUserByToken(token) match { 
    case Some(user) => Right(user)
    case None => Left(AuthenticationFailedRejection(..))
  }
}

哪里Authentication[User]Either[Rejection, T]

如果您看一下authenticate指令,它是用磁铁模式实现的,并且需要AuthMagnet并且您有所有需要的东西,因为它具有转换功能:

implicit def fromFutureAuth[T](auth: ⇒ Future[Authentication[T]])(implicit executor: ExecutionContext): AuthMagnet[T] =
    new AuthMagnet(onSuccess(auth))

所以现在您可以使用它:

post {
  headerValueByName("Access_Token") { access_token => {
    authenticate(validate(access_token)) { user => {
      ......
      ......
    }
  }
}

顺便说一句,如果您正在寻找一种安全可靠的方式来存储用户帐户,请检查stormpath,将它们与Spray api集成非常容易。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何测试基于令牌的身份验证?

来自分类Dev

使用Dapper micro-orm的基于令牌的身份验证

来自分类Dev

使用Jwt的基于令牌的身份验证无法授权

来自分类Dev

如何使用无状态/基于令牌的身份验证来防止登录凭据共享?

来自分类Dev

在 HTTP 连接中使用基于令牌的身份验证时如何防止重放攻击

来自分类Dev

Laravel基于令牌的用户身份验证?

来自分类Dev

PHP的基于令牌的身份验证

来自分类Dev

基于令牌的REST API身份验证

来自分类Dev

令牌验证如何在基于令牌的身份验证系统上工作

来自分类Dev

使用PyJWT的基于Django令牌的身份验证,令牌验证出现问题

来自分类Dev

如何在django中使用中间件同时处理基于会话和基于令牌的身份验证?

来自分类Dev

如何在django中使用中间件同时处理基于会话和基于令牌的身份验证?

来自分类Dev

如何使用身份验证令牌对 oracle 云 ipnetwork API 进行身份验证?

来自分类Dev

如何在基于令牌的身份验证OWIN中使令牌无效

来自分类Dev

如何使用令牌对REST服务进行身份验证

来自分类Dev

Node.js-如何使用访问/身份验证令牌?

来自分类Dev

如何使用 Facebook 令牌进行身份验证?

来自分类Dev

如何使用环回 IP 检索身份验证令牌

来自分类Dev

在基于令牌的身份验证中使用刷新令牌是否安全?

来自分类Dev

如何在Web API中获取经过身份验证的用户名(基于令牌的身份验证)

来自分类Dev

SSO基于基于令牌的身份验证的安全性如何?

来自分类Dev

如何撤销身份验证令牌?

来自分类Dev

在事件中使用身份验证令牌

来自分类Dev

使用“ SharedPreferences”存储身份验证令牌

来自分类Dev

使用身份验证令牌保护JSON

来自分类Dev

Owasp ZAP在使用“基于表单的身份验证”的python项目进行主动扫描期间未执行身份验证

来自分类Dev

如何验证最终用户身份验证令牌(使用Firebase身份验证)以调用Google Cloud Run端点?

来自分类Dev

如何通过基于令牌的身份验证来保护Rest Web服务?

来自分类Dev

如何将基于令牌的身份验证限制在站点的特定区域?

Related 相关文章

  1. 1

    如何测试基于令牌的身份验证?

  2. 2

    使用Dapper micro-orm的基于令牌的身份验证

  3. 3

    使用Jwt的基于令牌的身份验证无法授权

  4. 4

    如何使用无状态/基于令牌的身份验证来防止登录凭据共享?

  5. 5

    在 HTTP 连接中使用基于令牌的身份验证时如何防止重放攻击

  6. 6

    Laravel基于令牌的用户身份验证?

  7. 7

    PHP的基于令牌的身份验证

  8. 8

    基于令牌的REST API身份验证

  9. 9

    令牌验证如何在基于令牌的身份验证系统上工作

  10. 10

    使用PyJWT的基于Django令牌的身份验证,令牌验证出现问题

  11. 11

    如何在django中使用中间件同时处理基于会话和基于令牌的身份验证?

  12. 12

    如何在django中使用中间件同时处理基于会话和基于令牌的身份验证?

  13. 13

    如何使用身份验证令牌对 oracle 云 ipnetwork API 进行身份验证?

  14. 14

    如何在基于令牌的身份验证OWIN中使令牌无效

  15. 15

    如何使用令牌对REST服务进行身份验证

  16. 16

    Node.js-如何使用访问/身份验证令牌?

  17. 17

    如何使用 Facebook 令牌进行身份验证?

  18. 18

    如何使用环回 IP 检索身份验证令牌

  19. 19

    在基于令牌的身份验证中使用刷新令牌是否安全?

  20. 20

    如何在Web API中获取经过身份验证的用户名(基于令牌的身份验证)

  21. 21

    SSO基于基于令牌的身份验证的安全性如何?

  22. 22

    如何撤销身份验证令牌?

  23. 23

    在事件中使用身份验证令牌

  24. 24

    使用“ SharedPreferences”存储身份验证令牌

  25. 25

    使用身份验证令牌保护JSON

  26. 26

    Owasp ZAP在使用“基于表单的身份验证”的python项目进行主动扫描期间未执行身份验证

  27. 27

    如何验证最终用户身份验证令牌(使用Firebase身份验证)以调用Google Cloud Run端点?

  28. 28

    如何通过基于令牌的身份验证来保护Rest Web服务?

  29. 29

    如何将基于令牌的身份验证限制在站点的特定区域?

热门标签

归档