设为首页 加入收藏

TOP

Akka-CQRS(14)- Http标准安全解决方案:OAuth2-资源使用授权(四)
2019-08-15 00:10:43 】 浏览:116
Tags:Akka-CQRS Http 标准 安全 解决方案 OAuth2- 资源 使用 授权
fy(user.password))
case _ => None } def authenticateUser(credentials: Credentials): Option[AuthUser] = credentials match { case p @ Credentials.Provided(_) => loggedInUsers.find(user => p.verify(user.token.access_token)) case _ => None } implicit val fmtCredentials = jsonFormat2(UserInfo.apply) implicit val fmtToken = jsonFormat3(AuthToken.apply) implicit val fmtUser = jsonFormat3(AuthUser.apply) } object Oauth2ServerDemo extends App { implicit val httpSys = ActorSystem("httpSystem") implicit val httpMat = ActorMaterializer() implicit val httpEC = httpSys.dispatcher import JsonMarshaller._ val route = pathEndOrSingleSlash { get { complete("Welcome!") } } ~ path("auth") { authenticateBasic(realm = "auth", getValidUser) { user => post { val loggedInUser = AuthUser(user) loggedInUsers.append(loggedInUser) complete(loggedInUser.token) } } } ~ path("api") { authenticateOAuth2(realm = "api", authenticateUser) { validToken => complete(s"It worked! user = $validToken") } } val (port, host) = (50081,"192.168.11.189") val bindingFuture = Http().bindAndHandle(route,host,port) println(s"Server running at $host $port. Press any key to exit ...") scala.io.StdIn.readLine() bindingFuture.flatMap(_.unbind()) .onComplete(_ => httpSys.terminate()) }

 

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Akka-CQRS(15)- Http标准安全解.. 下一篇restapi(0)- 平台数据维护,写..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目