diff --git a/src/main/scala/ScalatraBootstrap.scala b/src/main/scala/ScalatraBootstrap.scala index 30c507a5f..fbb488a55 100644 --- a/src/main/scala/ScalatraBootstrap.scala +++ b/src/main/scala/ScalatraBootstrap.scala @@ -1,7 +1,7 @@ import gitbucket.core.controller._ import gitbucket.core.plugin.PluginRegistry -import gitbucket.core.servlet.{AccessTokenAuthenticationFilter, BasicAuthenticationFilter, Database, TransactionFilter} +import gitbucket.core.servlet.{ApiAuthenticationFilter, GitAuthenticationFilter, Database, TransactionFilter} import gitbucket.core.util.Directory import java.util.EnumSet @@ -15,10 +15,10 @@ class ScalatraBootstrap extends LifeCycle { // Register TransactionFilter and BasicAuthenticationFilter at first context.addFilter("transactionFilter", new TransactionFilter) context.getFilterRegistration("transactionFilter").addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/*") - context.addFilter("basicAuthenticationFilter", new BasicAuthenticationFilter) - context.getFilterRegistration("basicAuthenticationFilter").addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/git/*") - context.addFilter("accessTokenAuthenticationFilter", new AccessTokenAuthenticationFilter) - context.getFilterRegistration("accessTokenAuthenticationFilter").addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/api/v3/*") + context.addFilter("gitAuthenticationFilter", new GitAuthenticationFilter) + context.getFilterRegistration("gitAuthenticationFilter").addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/git/*") + context.addFilter("apiAuthenticationFilter", new ApiAuthenticationFilter) + context.getFilterRegistration("apiAuthenticationFilter").addMappingForUrlPatterns(EnumSet.allOf(classOf[DispatcherType]), true, "/api/v3/*") // Register controllers context.mount(new AnonymousAccessController, "/*") diff --git a/src/main/scala/gitbucket/core/servlet/AccessTokenAuthenticationFilter.scala b/src/main/scala/gitbucket/core/servlet/ApiAuthenticationFilter.scala similarity index 86% rename from src/main/scala/gitbucket/core/servlet/AccessTokenAuthenticationFilter.scala rename to src/main/scala/gitbucket/core/servlet/ApiAuthenticationFilter.scala index ab294ed70..871c29220 100644 --- a/src/main/scala/gitbucket/core/servlet/AccessTokenAuthenticationFilter.scala +++ b/src/main/scala/gitbucket/core/servlet/ApiAuthenticationFilter.scala @@ -11,8 +11,7 @@ import org.scalatra.servlet.ServletApiImplicits._ import org.scalatra._ -class AccessTokenAuthenticationFilter extends Filter with AccessTokenService with AccountService with SystemSettingsService { - private val tokenHeaderPrefix = "token " +class ApiAuthenticationFilter extends Filter with AccessTokenService with AccountService with SystemSettingsService { override def init(filterConfig: FilterConfig): Unit = {} @@ -23,9 +22,9 @@ class AccessTokenAuthenticationFilter extends Filter with AccessTokenService wit implicit val session = req.getAttribute(Keys.Request.DBSession).asInstanceOf[slick.jdbc.JdbcBackend#Session] val response = res.asInstanceOf[HttpServletResponse] Option(request.getHeader("Authorization")).map{ - case auth if auth.startsWith("token ") => AccessTokenService.getAccountByAccessToken(auth.substring(6).trim).toRight(Unit) - case auth if auth.startsWith("Basic ") => doBasicAuth(auth, loadSystemSettings(), request).toRight(Unit) - case _ => Left(Unit) + case auth if auth.startsWith("token ") => AccessTokenService.getAccountByAccessToken(auth.substring(6).trim).toRight(()) + case auth if auth.startsWith("Basic ") => doBasicAuth(auth, loadSystemSettings(), request).toRight(()) + case _ => Left(()) }.orElse{ Option(request.getSession.getAttribute(Keys.Session.LoginAccount).asInstanceOf[Account]).map(Right(_)) } match { diff --git a/src/main/scala/gitbucket/core/servlet/BasicAuthenticationFilter.scala b/src/main/scala/gitbucket/core/servlet/GitAuthenticationFilter.scala similarity index 95% rename from src/main/scala/gitbucket/core/servlet/BasicAuthenticationFilter.scala rename to src/main/scala/gitbucket/core/servlet/GitAuthenticationFilter.scala index cca1a645b..c079eb880 100644 --- a/src/main/scala/gitbucket/core/servlet/BasicAuthenticationFilter.scala +++ b/src/main/scala/gitbucket/core/servlet/GitAuthenticationFilter.scala @@ -12,9 +12,9 @@ import Implicits._ /** * Provides BASIC Authentication for [[GitRepositoryServlet]]. */ -class BasicAuthenticationFilter extends Filter with RepositoryService with AccountService with SystemSettingsService { +class GitAuthenticationFilter extends Filter with RepositoryService with AccountService with SystemSettingsService { - private val logger = LoggerFactory.getLogger(classOf[BasicAuthenticationFilter]) + private val logger = LoggerFactory.getLogger(classOf[GitAuthenticationFilter]) def init(config: FilterConfig) = {} diff --git a/src/main/scala/gitbucket/core/servlet/GitRepositoryServlet.scala b/src/main/scala/gitbucket/core/servlet/GitRepositoryServlet.scala index 047e5ed18..1ceb76acf 100644 --- a/src/main/scala/gitbucket/core/servlet/GitRepositoryServlet.scala +++ b/src/main/scala/gitbucket/core/servlet/GitRepositoryServlet.scala @@ -27,7 +27,7 @@ import javax.servlet.http.{HttpServletResponse, HttpServletRequest} * Provides Git repository via HTTP. * * This servlet provides only Git repository functionality. - * Authentication is provided by [[BasicAuthenticationFilter]]. + * Authentication is provided by [[GitAuthenticationFilter]]. */ class GitRepositoryServlet extends GitServlet with SystemSettingsService {