轮廓中的BearerToken身份验证不起作用

时间:2018-11-18 09:44:33

标签: playframework oauth-2.0 bearer-token silhouette

无法通过play + silhouette中的现有承载令牌进行身份验证

我使用:

trait BTEnv extends Env {
  type I = User
  type A = BearerTokenAuthenticator
}

控制器代码:

class RestController @Inject() (
  components: ControllerComponents,
  silhouette: Silhouette[BTEnv],
  socialProviderRegistry: SocialProviderRegistry
)(
  implicit
  ex: ExecutionContext
) extends AbstractController(components) with I18nSupport with Logger {

  def secured = silhouette.SecuredAction(WithProvider[BTEnv#A](CustomProvider.ID)) { implicit request: SecuredRequest[BTEnv, AnyContent] =>

    Ok("42")
  }

  def unsecured = silhouette.UnsecuredAction.async {
    implicit request: Request[AnyContent] => Future.successful(Ok("420"))
  }

}

自定义提供程序的依据:

https://gist.github.com/iOgre/02a4ed1eff9656e8f9bc57baf0c36d14

要点模块剪影

https://gist.github.com/iOgre/99222d040461e699146397ae6bd075f3

我已经从身份服务器收到访问令牌,并在请求端点时使用它(在提供的控制器代码中为def安全的...)

我将令牌传递为: 授权:不记名{my-token-here} 并请求返回未经授权的内容,并重定向到预定义的网址 但我找不到代码在哪里解析和验证令牌

我做了一些调试,但是WithProvider中都不是isAuthorized方法  case类,CustomProvider类层次结构中的auth函数也不会运行。 至少断点没有命中

0 个答案:

没有答案