64 lines
1.7 KiB
TypeScript
64 lines
1.7 KiB
TypeScript
import { Router } from "express";
|
|
import GetAuthRoute from "./auth";
|
|
import JWTRoute from "./jwt";
|
|
import Public from "./public";
|
|
import RefreshTokenRoute from "./refresh";
|
|
|
|
const OAuthRoue: Router = Router();
|
|
/**
|
|
* @api {post} /oauth/auth
|
|
* @apiName OAuthAuth
|
|
*
|
|
* @apiGroup oauth
|
|
* @apiPermission user Special required
|
|
*
|
|
* @apiParam {String} response_type must be "code" others are not supported
|
|
* @apiParam {String} client_id ClientID
|
|
* @apiParam {String} redirect_uri The URI to redirect with code
|
|
* @apiParam {String} scope Scope that contains the requested permissions (comma seperated list of permissions)
|
|
* @apiParam {String} state State, that will be passed to redirect_uri for client
|
|
* @apiParam {String} nored Deactivates the Redirect response from server and instead returns the redirect URI in JSON response
|
|
*/
|
|
OAuthRoue.post("/auth", GetAuthRoute(false));
|
|
|
|
/**
|
|
* @api {get} /oauth/jwt
|
|
* @apiName OAuthJwt
|
|
*
|
|
* @apiGroup oauth
|
|
* @apiPermission none
|
|
*
|
|
* @apiParam {String} refreshtoken
|
|
*
|
|
* @apiSuccess {String} token The JWT that allowes the application to access the recources granted for refresh token
|
|
*/
|
|
OAuthRoue.get("/jwt", JWTRoute);
|
|
|
|
/**
|
|
* @api {get} /oauth/public
|
|
* @apiName OAuthPublic
|
|
*
|
|
* @apiGroup oauth
|
|
* @apiPermission none
|
|
*
|
|
* @apiSuccess {String} public_key The applications public_key. Used to verify JWT.
|
|
*/
|
|
OAuthRoue.get("/public", Public);
|
|
|
|
/**
|
|
* @api {get} /oauth/refresh
|
|
* @apiName OAuthRefreshGet
|
|
*
|
|
* @apiGroup oauth
|
|
*/
|
|
OAuthRoue.get("/refresh", RefreshTokenRoute);
|
|
|
|
/**
|
|
* @api {post} /oauth/refresh
|
|
* @apiName OAuthRefreshPost
|
|
*
|
|
* @apiGroup oauth
|
|
*/
|
|
OAuthRoue.post("/refresh", RefreshTokenRoute);
|
|
export default OAuthRoue;
|