app/controllers/PandaAuthController.scala (27 lines of code) (raw):
package controllers
import story_packages.auth.PanDomainAuthActions
import play.api.mvc.ControllerComponents
import conf.ApplicationConfiguration
import play.api.libs.ws.WSClient
import scala.concurrent.ExecutionContext.Implicits.global
import scala.concurrent.Future
class PandaAuthController(config: ApplicationConfiguration, components: ControllerComponents, wsClient: WSClient)
extends StoryPackagesBaseController(config, components, wsClient)
with PanDomainAuthActions {
def oauthCallback = Action.async { implicit request =>
processOAuthCallback()
}
def logout = Action.async { implicit request =>
Future(processLogout)
}
def authError(message: String) = Action.async { implicit request =>
Future(Forbidden(views.html.auth.login(Some(message))))
}
def user() = AuthAction { implicit request =>
Ok(request.user.toJson).as(JSON)
}
def status = AuthAction { request =>
val user = request.user
Ok(views.html.auth.status(user.toJson))
}
}