app/controllers/Login.scala (29 lines of code) (raw):

package controllers import com.gu.pandomainauth.PanDomainAuthSettingsRefresher import com.gu.permissions.PermissionsProvider import config.Config import play.api.libs.ws.WSClient import play.api.mvc._ import play.api.Logging import play.filters.headers.SecurityHeadersFilter import scala.concurrent.Future import scala.concurrent.ExecutionContext.Implicits.global class Login( override val config: Config, override val controllerComponents: ControllerComponents, override val wsClient: WSClient, override val panDomainSettings: PanDomainAuthSettingsRefresher, override val permissions: PermissionsProvider, ) extends BaseController with PanDomainAuthActions with Logging { def oauthCallback = Action.async { implicit request => processOAuthCallback() } def status = AuthAction { request => val user = request.user logger.info(s"User ${user.email} successfully restablished session via login/status") Ok(views.html.loginStatus(user.toJson)).withHeaders(SecurityHeadersFilter.X_FRAME_OPTIONS_HEADER -> "SAMEORIGIN") } def logout = Action.async { implicit request => Future(processLogout) } }