#play-oauth-server

OAuth 2 server implemented using:

references

dev guide

  • jdk 8
  • scala 2.11.x & sbt 0.13.8
  • Intellij + scala plugin
  • couchbase 4.0
    • 4.0
    • enable query & index service
    • remove default bucket, then create a bucket named pk with password as in file application.conf
  • run cbq - see n1ql-guide
/* `1` is pk.auth.CBType.TUser */
CREATE INDEX acc_by_email ON pk(email) WHERE tpe = 1 USING GSI;

/* `3` is pk.auth.CBType.TToken */
CREATE INDEX refresh_token ON pk(refreshToken) WHERE tpe = 3 USING GSI;

SELECT * FROM system:indexes;

EXPLAIN
    SELECT pk.* FROM pk USE INDEX (acc_by_email USING GSI)
    WHERE email LIKE 'abc@%' AND tpe = 1;

some other syntax:

DROP INDEX pk.acc_by_email USING GSI;
CREATE PRIMARY INDEX ON pk USING GSI;
DROP PRIMARY INDEX ON pk USING GSI;