scala – 使用Play 2 Framework进行基于令牌的身份验证
发布时间:2020-12-16 19:21:52 所属栏目:安全 来源:网络整理
导读:我在 Scala中使用Play Framework 2建立一个应用程序.它将完全是RESTful,目前从 Javascript单页面应用程序调用. 什么是集成基于令牌的身份验证的最佳方式? Play2有多个认证库,加上原始的安全特性,但不清楚哪个是最方便的. 感谢您的帮助和建议 解决方法 如果
我在
Scala中使用Play Framework 2建立一个应用程序.它将完全是RESTful,目前从
Javascript单页面应用程序调用.
什么是集成基于令牌的身份验证的最佳方式? Play2有多个认证库,加上原始的安全特性,但不清楚哪个是最方便的. 感谢您的帮助和建议 解决方法
如果您在说“基于令牌”时引用JWT,您可能需要查看
this example在Play2中实现HTTP基本身份验证,以及
this answer:如何在Scala后端实现JWT.好的部分是您既不需要cookie,也不需要经过身份验证的用户的缓存.
为方便起见,包括第一个链接的内容: def Secured[A](username: String,password: String)(action: Action[A]) = Action(action.parser) { request => request.headers.get("Authorization").flatMap { authorization => authorization.split(" ").drop(1).headOption.filter { encoded => new String(org.apache.commons.codec.binary.Base64.decodeBase64(encoded.getBytes)).split(":").toList match { case u :: p :: Nil if u == username && password == p => true case _ => false } }.map(_ => action(request)) }.getOrElse { Unauthorized.withHeaders("WWW-Authenticate" -> """Basic realm="Secured"""") } } 使用方法如下: def myAction = Secured("admin","1234secret") { Action { request => Ok } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |