auth
Token service for authentication, support Redis, database, memory and JWT Token.
Designed for Spring Boot projects.
Maven
<dependency>
    <groupId>cn.har01d</groupId>
    <artifactId>auth</artifactId>
    <version>0.0.1</version>
</dependency> 
Support Types
Redis
@EnableRedisToken
Database
@EnableDatabaseToken
Memory
Default
JWT
@EnableJwtToken
Endpoints
Login
POST /accounts/login
{
	"username": "user",
	"password": "bf3916a0-a7e0-4177-9b74-fa5b0b7e438f",
	"rememberMe": false
} 
Logout
POST /accounts/logout
X-ACCESS-TOKEN: {{TOKEN}} 
Get Principal
GET /accounts/principal
X-ACCESS-TOKEN: {{TOKEN}} 
Token Usage
Add token in Header or Parameter X-ACCESS-TOKEN.
Configuration
cn:
  har01d:
    auth:
      idle-timeout: 30
      header-name: "X-ACCESS-TOKEN"
      table-name: "t_token"
      redis-prefix: "TOKEN:a:"
      jwt:
        secretKey: ""
        issuer: "Har01d"
        subject: "auth0"
        audience: "web" 
Example
package cn.har01d.example
import cn.har01d.auth.annotation.EnableJwtToken
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.runApplication
@SpringBootApplication
@EnableJwtToken
class ExampleApplication
fun main(args: Array<String>) {
    runApplication<ExampleApplication>(*args)
}