Skip to content

Commit

Permalink
format code by scalariform
Browse files Browse the repository at this point in the history
  • Loading branch information
tsuyoshizawa committed Jan 17, 2016
1 parent 40dfea0 commit 6ed086e
Show file tree
Hide file tree
Showing 20 changed files with 162 additions and 157 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package scalaoauth2.provider

import play.api.mvc.{Request, WrappedRequest}
import play.api.mvc.{ Request, WrappedRequest }

case class AuthInfoRequest[A, U](authInfo: AuthInfo[U], private val request: Request[A]) extends WrappedRequest[A](request)
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ package scalaoauth2.provider

import play.api.mvc._

import scala.concurrent.{Future, ExecutionContext}
import scala.concurrent.{ Future, ExecutionContext }

case class AuthorizedActionFunction[U](handler: ProtectedResourceHandler[U])(implicit ctx: ExecutionContext) extends ActionFunction[Request, ({type L[A] = AuthInfoRequest[A, U]})#L] with OAuth2Provider {
case class AuthorizedActionFunction[U](handler: ProtectedResourceHandler[U])(implicit ctx: ExecutionContext) extends ActionFunction[Request, ({ type L[A] = AuthInfoRequest[A, U] })#L] with OAuth2Provider {

override def invokeBlock[A](request: Request[A], block: AuthInfoRequest[A, U] => Future[Result]): Future[Result] = {
authorize(handler) { authInfo =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scalaoauth2.provider
import play.api.libs.json._
import play.api.mvc._

import scala.concurrent.{ExecutionContext, Future}
import scala.concurrent.{ ExecutionContext, Future }
import scala.language.implicitConversions

/**
Expand Down Expand Up @@ -68,12 +68,12 @@ trait OAuth2BaseProvider extends Results {
"token_type" -> JsString(r.tokenType),
"access_token" -> JsString(r.accessToken)
) ++ r.expiresIn.map {
"expires_in" -> JsNumber(_)
} ++ r.refreshToken.map {
"refresh_token" -> JsString(_)
} ++ r.scope.map {
"scope" -> JsString(_)
}
"expires_in" -> JsNumber(_)
} ++ r.refreshToken.map {
"refresh_token" -> JsString(_)
} ++ r.scope.map {
"scope" -> JsString(_)
}
}

protected[scalaoauth2] def responseOAuthErrorJson(e: OAuthError): JsValue = Json.obj(
Expand Down Expand Up @@ -136,7 +136,7 @@ trait OAuth2Provider extends OAuth2BaseProvider {
*/
def issueAccessToken[A, U](handler: AuthorizationHandler[U])(implicit request: Request[A], ctx: ExecutionContext): Future[Result] = {
tokenEndpoint.handleRequest(request, handler).map {
case Left(e) => new Status(e.statusCode)(responseOAuthErrorJson(e)).withHeaders(responseOAuthErrorHeader(e))
case Left(e) => new Status(e.statusCode)(responseOAuthErrorJson(e)).withHeaders(responseOAuthErrorHeader(e))
case Right(r) => Ok(Json.toJson(responseAccessToken(r))).withHeaders("Cache-Control" -> "no-store", "Pragma" -> "no-cache")
}
}
Expand All @@ -155,7 +155,7 @@ trait OAuth2Provider extends OAuth2BaseProvider {
*/
def authorize[A, U](handler: ProtectedResourceHandler[U])(callback: AuthInfo[U] => Future[Result])(implicit request: Request[A], ctx: ExecutionContext): Future[Result] = {
protectedResource.handleRequest(request, handler).flatMap {
case Left(e) => Future.successful(new Status(e.statusCode).withHeaders(responseOAuthErrorHeader(e)))
case Left(e) => Future.successful(new Status(e.statusCode).withHeaders(responseOAuthErrorHeader(e)))
case Right(authInfo) => callback(authInfo)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ package scalaoauth2.provider

import play.api.mvc._

import scala.concurrent.{Future, ExecutionContext}
import scala.concurrent.{ Future, ExecutionContext }

trait OAuth2ProviderActionBuilders {

implicit val executionContext: ExecutionContext

def AuthorizedAction[U](handler: ProtectedResourceHandler[U]): ActionBuilder[({type L[A] = AuthInfoRequest[A, U]})#L] = {
def AuthorizedAction[U](handler: ProtectedResourceHandler[U]): ActionBuilder[({ type L[A] = AuthInfoRequest[A, U] })#L] = {
AuthorizedActionFunction(handler) compose Action
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scalaoauth2
import play.api.mvc.Result

import scala.concurrent.duration._
import scala.concurrent.{Await, Future}
import scala.concurrent.{ Await, Future }

package object provider {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ class OAuth2ProviderActionBuildersSpec extends FlatSpec {

it should "return BadRequest" in {
val result = action(FakeRequest())
status(result) should be (400)
contentAsString(result) should be ("")
status(result) should be(400)
contentAsString(result) should be("")
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package scalaoauth2.provider
import org.scalatest.Matchers._
import org.scalatest._
import play.api.libs.json._
import play.api.mvc.{AnyContentAsFormUrlEncoded, AnyContentAsJson}
import play.api.test.{FakeHeaders, FakeRequest}
import play.api.mvc.{ AnyContentAsFormUrlEncoded, AnyContentAsJson }
import play.api.test.{ FakeHeaders, FakeRequest }

class OAuth2ProviderSpec extends FlatSpec {

Expand All @@ -14,24 +14,24 @@ class OAuth2ProviderSpec extends FlatSpec {

it should "return including access token" in {
val map = TestOAuthProvider.responseAccessToken(GrantHandlerResult(tokenType = "Bearer", accessToken = "access_token", expiresIn = Some(3600), refreshToken = None, scope = None))
map.get("token_type") should contain (JsString("Bearer"))
map.get("access_token") should contain (JsString("access_token"))
map.get("expires_in") should contain (JsNumber(3600))
map.get("refresh_token") should be (None)
map.get("scope") should be (None)
map.get("custom_key") should contain (JsString("custom_value"))
map.get("token_type") should contain(JsString("Bearer"))
map.get("access_token") should contain(JsString("access_token"))
map.get("expires_in") should contain(JsNumber(3600))
map.get("refresh_token") should be(None)
map.get("scope") should be(None)
map.get("custom_key") should contain(JsString("custom_value"))
}

it should "return error message as JSON" in {
val json = TestOAuthProvider.responseOAuthErrorJson(new InvalidRequest("request is invalid"))
(json \ "error").as[String] should be ("invalid_request")
(json \ "error_description").as[String] should be ("request is invalid")
(json \ "error").as[String] should be("invalid_request")
(json \ "error_description").as[String] should be("request is invalid")
}

it should "return error message to header" in {
val (name, value) = TestOAuthProvider.responseOAuthErrorHeader(new InvalidRequest("request is invalid"))
name should be ("WWW-Authenticate")
value should be ("""Bearer error="invalid_request", error_description="request is invalid"""")
name should be("WWW-Authenticate")
value should be("""Bearer error="invalid_request", error_description="request is invalid"""")
}

it should "get parameters from form url encoded body" in {
Expand All @@ -41,8 +41,8 @@ class OAuth2ProviderSpec extends FlatSpec {
)
val request = FakeRequest(method = "GET", uri = "/", headers = FakeHeaders(), body = AnyContentAsFormUrlEncoded(values))
val params = TestOAuthProvider.getParam(request)
params.get("id") should contain (List("1000"))
params.get("language") should contain (List("Scala"))
params.get("id") should contain(List("1000"))
params.get("language") should contain(List("Scala"))
}

it should "get parameters from query string" in {
Expand All @@ -52,9 +52,9 @@ class OAuth2ProviderSpec extends FlatSpec {
)
val request = FakeRequest(method = "GET", uri = "/?version=2.11", headers = FakeHeaders(), body = AnyContentAsFormUrlEncoded(values))
val params = TestOAuthProvider.getParam(request)
params.get("id") should contain (List("1000"))
params.get("language") should contain (List("Scala"))
params.get("version") should contain (List("2.11"))
params.get("id") should contain(List("1000"))
params.get("language") should contain(List("Scala"))
params.get("version") should contain(List("2.11"))
}

it should "get parameters from JSON body" in {
Expand All @@ -64,7 +64,7 @@ class OAuth2ProviderSpec extends FlatSpec {
)
val request = FakeRequest(method = "GET", uri = "/", headers = FakeHeaders(), body = AnyContentAsJson(json))
val params = TestOAuthProvider.getParam(request)
params.get("id") should contain (List("1000"))
params.get("language") should contain (List("Scala"))
params.get("id") should contain(List("1000"))
params.get("language") should contain(List("Scala"))
}
}
28 changes: 16 additions & 12 deletions project/Build.scala
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import sbt._
import Keys._
import com.typesafe.sbt.SbtScalariform._

object ScalaOAuth2Build extends Build {

Expand All @@ -14,18 +15,21 @@ object ScalaOAuth2Build extends Build {
"org.scalatest" %% "scalatest" % "2.2.4" % "test"
)

lazy val scalaOAuth2ProviderSettings = Defaults.coreDefaultSettings ++ Seq(
organization := _organization,
version := _version,
scalaVersion := _scalaVersion,
crossScalaVersions := _crossScalaVersions,
scalacOptions ++= _scalacOptions,
publishTo <<= version { (v: String) => _publishTo(v) },
publishMavenStyle := true,
publishArtifact in Test := false,
pomIncludeRepository := { x => false },
pomExtra := _pomExtra
)
lazy val scalaOAuth2ProviderSettings =
Defaults.coreDefaultSettings ++
scalariformSettings ++
Seq(
organization := _organization,
version := _version,
scalaVersion := _scalaVersion,
crossScalaVersions := _crossScalaVersions,
scalacOptions ++= _scalacOptions,
publishTo <<= version { (v: String) => _publishTo(v) },
publishMavenStyle := true,
publishArtifact in Test := false,
pomIncludeRepository := { x => false },
pomExtra := _pomExtra
)

lazy val root = Project(
id = "scala-oauth2-provider",
Expand Down
1 change: 1 addition & 0 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-scalariform" % "1.3.0")
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ class AuthorizationRequest(headers: Map[String, Seq[String]], params: Map[String

/**
* Returns grant_type.
*
* OAuth defines four grant types:
*
* OAuth defines four grant types:
* authorization code
* implicit
* resource owner password credentials, and client credentials.
*
*
* @return grant_type
*/
def grantType: String = requireParam("grant_type")

/**
* Returns scope.
*
*
* @return scope
*/
def scope: Option[String] = param("scope")
Expand Down Expand Up @@ -49,31 +49,31 @@ class AuthorizationRequest(headers: Map[String, Seq[String]], params: Map[String

case class RefreshTokenRequest(request: AuthorizationRequest) extends AuthorizationRequest(request.headers, request.params) {
/**
* returns refresh_token.
*
* @return code.
* @throws InvalidRequest if the parameter is not found
*/
* returns refresh_token.
*
* @return code.
* @throws InvalidRequest if the parameter is not found
*/
def refreshToken: String = requireParam("refresh_token")

override lazy val clientCredential = request.clientCredential
}

case class PasswordRequest(request: AuthorizationRequest) extends AuthorizationRequest(request.headers, request.params) {
/**
* returns username.
*
* @return username.
* @throws InvalidRequest if the parameter is not found
*/
* returns username.
*
* @return username.
* @throws InvalidRequest if the parameter is not found
*/
def username = requireParam("username")

/**
* returns password.
*
* @return password.
* @throws InvalidRequest if the parameter is not found
*/
* returns password.
*
* @return password.
* @throws InvalidRequest if the parameter is not found
*/
def password = requireParam("password")

override lazy val clientCredential = request.clientCredential
Expand All @@ -85,18 +85,18 @@ case class ClientCredentialsRequest(request: AuthorizationRequest) extends Autho

case class AuthorizationCodeRequest(request: AuthorizationRequest) extends AuthorizationRequest(request.headers, request.params) {
/**
* returns code.
*
* @return code.
* @throws InvalidRequest if code is not found
*/
* returns code.
*
* @return code.
* @throws InvalidRequest if code is not found
*/
def code: String = requireParam("code")

/**
* Returns redirect_uri.
*
* @return redirect_uri
*/
* Returns redirect_uri.
*
* @return redirect_uri
*/
def redirectUri: Option[String] = param("redirect_uri")

override lazy val clientCredential = request.clientCredential
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ trait DataHandler[U] extends AuthorizationHandler[U] with ProtectedResourceHandl
* @param createdAt Access token is created date.
*/
case class AccessToken(token: String, refreshToken: Option[String], scope: Option[String], lifeSeconds: Option[Long], createdAt: Date) {
def isExpired: Boolean = expirationTimeInMilis.exists {expTime =>
def isExpired: Boolean = expirationTimeInMilis.exists { expTime =>
expTime <= System.currentTimeMillis
}

def expiresIn: Option[Long] = expirationTimeInMilis map {expTime =>
def expiresIn: Option[Long] = expirationTimeInMilis map { expTime =>
(expTime - System.currentTimeMillis) / 1000
}

private def expirationTimeInMilis: Option[Long] = lifeSeconds map {lifeSecs =>
private def expirationTimeInMilis: Option[Long] = lifeSeconds map { lifeSecs =>
createdAt.getTime + lifeSecs * 1000
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,6 @@ class ExpiredToken() extends OAuthError(401, "The access token expired") {

class InsufficientScope(description: String = "") extends OAuthError(401, description) {

override val errorType = "insufficient_scope"
override val errorType = "insufficient_scope"

}
Loading

0 comments on commit 6ed086e

Please sign in to comment.