def userFromRequestOauth()

in mobile-save-for-later/src/main/scala/com/gu/sfl/identity/IdentityService.scala [90:104]


  def userFromRequestOauth(identityHeaders: IdentityHeader, requiredScope: List[IdentityAccessScope]): Either[ValidationError, DefaultAccessClaims] =
    oktaLocalAccessTokenValidator.parsedClaimsFromAccessToken(
      AccessToken(identityHeaders.auth.stripPrefix("Bearer ")),
      requiredScope
    )

  override def userFromRequest(identityHeaders: IdentityHeader, requiredScope: List[IdentityAccessScope]): Future[Option[String]] = {
    identityHeaders.isOauth match {
      case true => userFromRequestOauth(identityHeaders, requiredScope) match {
        case Left(e) => Future.failed(OktaValidationException(e))
        case Right(claims) => Future.successful(Some(claims.identityId))
      }
      case false => userFromRequestIdapi(identityHeaders)
    }
  }