hq/app/controllers/AuthController.scala (25 lines of code) (raw):

package controllers import auth.SecurityHQAuthActions import com.gu.googleauth.GoogleAuthConfig import play.api.libs.ws.WSClient import play.api.mvc._ import play.api.{Configuration, Environment, Mode} import scala.concurrent.ExecutionContext class AuthController(environment: Environment, val config: Configuration, val authConfig: GoogleAuthConfig) (implicit val ec: ExecutionContext, val wsClient: WSClient, val bodyParser: BodyParser[AnyContent], val controllerComponents: ControllerComponents, val assetsFinder: AssetsFinder) extends BaseController with SecurityHQAuthActions { implicit val mode: Mode = environment.mode def loginError = Action { implicit request => val error = request.flash.get("error").getOrElse("There was an error logging in") Ok(views.html.loginError(error)) } def login = Action.async { implicit request => startGoogleLogin() } def logout = Action { implicit request => Redirect(routes.HQController.index).withNewSession } def oauthCallback = Action.async { implicit request => processOauth2Callback(requiredGoogleGroups, googleGroupChecker) } }