トークンを管理する組み込みの方法はありません。アクセストークンの使用を分散および管理するトークンシステムを構築することをお勧めします。ユーザーごとに 1 つ持つことも、別のシステムを使用することもできます。
次に、エンドポイントごとに、API を保護するためのラップされたアクションを作成します。
case class SecuredAPIRequest(request:Request[AnyContent]) extends
WrappedRequest(request)
trait SecuredController{
import play.api.mvc.Results._
//This takes an action for a request, and checks to see if the apiKey equals or API_KEY
def SecuredAPIAction(f:SecuredAPIRequest => Result) = Action{
request =>
request.body.asJson.map{ jsValue =>
(jsValue \ "apiKey").asOpt[String] match{
case Some(key) if validKey(key) => f(SecuredAPIRequest(request)) //We are clear to go, execute our function.
// NOTE: validKey would be a function that checks the key against our DB ensuring that it is valid.
case None => Forbidden
}
}.getOrElse(Forbidden)
}
}
SecureSocial が行うことは、セキュリティ リクエストを認証サービス (Twitter、Facebook など) にルーティングし、それらのトークンをセキュリティとして使用することです。認証のためにユーザーをリダイレクトすることは不可能であるため、これは API としては機能しません。