2017-10-19 4 views
3

Hallo habe einen Dienst, der mit Akka-Http entwickelt wurde. Ich muss OAuth dazu hinzufügen und gemäß documentation verwende ich authenticateOAuth2 dafür.Kann OAuth2 mit Akka-Http nicht authentifizieren

Allerdings ist der Code nicht kompilieren und gibt den Fehler als

Typenkonflikt, erwartet: (L) => server.Route, aktuell: (OauthInfo) => server.Route

Ich kann keine geeignete Lösung finden, um dieses Problem zu beheben. Ich probierte sogar den genauen Code, der in der example in der Dokumentation erwähnt wird, aber es löst immer noch ähnliche Kompilierzeitfehler aus.

Ich benutze akka-http mit Kreis.

Hier ist mein Code:

def route(implicit system: ActorSystem, mat: ActorMaterializer): Route = 
Route.seal { 
    pathPrefix("newsletter-preferences") { 
    authenticateOAuth2(realm = "Secure site", authenticator) { authInfo => 
     path("frequency"/LongNumber) { custNum => 
     authorize(hasScopes(authInfo)) { 
      frequencyPreference(custNum) ~ addFreqPref(custNum) 
     } 
     } ~ path("pause"/LongNumber) { custNum => 
     authorize(hasScopes(authInfo)) { 
      pauseInfo(custNum) ~ addPauseInfo(custNum) ~ unPauseUser(custNum) 
     } 
     } 
    } ~ 
     path("health") { 
     healthRoute() 
     } 
    } 
} 

def hasScopes(authInfo: OAuthInfo): Boolean = ??? 

def authenticator(credentials: Credentials)(
    implicit system: ActorSystem, 
    mat: ActorMaterializer): Option[OAuthInfo] = { 
credentials match { 
    case p @ Credentials.Provided(token) => 
    ??? 
    case _ => None 
} 
} 

Antwort

1

Dies war ein Fehler in IntelliJ.
Der Code läuft gut, aber aus irgendeinem Grund zeigt IntelliJ Idea Fehler überall.

Verwandte Themen