Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 将KeyClope集成到Play2项目中_Maven_Playframework_Keycloak_Deadbolt - Fatal编程技术网

Maven 将KeyClope集成到Play2项目中

Maven 将KeyClope集成到Play2项目中,maven,playframework,keycloak,deadbolt,Maven,Playframework,Keycloak,Deadbolt,我想将KeyClope身份验证集成到Play2项目中。以下是我在此之前所做的: 我下载了keydove:keydove-1.6.1.Final.zip,解包,运行它,并通过创建一个测试域和一些角色进行设置 我下载、配置并运行示例js控制台() 我能够创建一个用户并使用js控制台登录。用户将按预期显示在KeyClope管理员中 现在我还想保护我的后端,这是一个使用maven构建的Play2项目(使用Play2 maven插件:) 后端发布一个RESTAPI,这些调用需要仅对具有多个角色的经过身份

我想将KeyClope身份验证集成到Play2项目中。以下是我在此之前所做的:

  • 我下载了keydove:keydove-1.6.1.Final.zip,解包,运行它,并通过创建一个测试域和一些角色进行设置
  • 我下载、配置并运行示例js控制台()
  • 我能够创建一个用户并使用js控制台登录。用户将按预期显示在KeyClope管理员中
  • 现在我还想保护我的后端,这是一个使用maven构建的Play2项目(使用Play2 maven插件:)
  • 后端发布一个RESTAPI,这些调用需要仅对具有多个角色的经过身份验证的用户可用
直到现在,我还没有找到解决办法。我遇到了Deadbolt,它可以声明性地表示需要应用于用户和角色的限制,但是我找不到KeyClope与Play2一起使用的适配器

有没有人做过类似的事情?我想一个解决方案是创建一个自定义适配器,方法是配置并调用核心keydape方法


有没有人对创建这个“KeyClope独立适配器”有什么想法?

这取决于您想要使用哪种身份验证机制(openid connect或SAML)。对于我正在开发的应用程序,我们选择了openid connect。目前,唯一支持该协议的play2库是。棘手的部分是弄清楚keydape在发送回play服务器的令牌中编码信息的方式。它通过Base64编码来实现。我们从keydape js适配器转换了算法以提取用户信息。
之后,我们可以使用或创建一个自定义请求包装器,其中将包含授权用户信息。

这两个博客条目帮助了我:

  • 使用密钥斗篷进行用户身份验证

    keydove
    akka http

  • 使用Scala和Play框架构建并保护API

    Auth0
    with
    play framework