Simplify /oauth2/issue logic

master
Garrett Mills 2 years ago
parent d210cba236
commit 8a9264b9de

@ -1,6 +1,6 @@
{ {
"name": "@extollo/lib", "name": "@extollo/lib",
"version": "0.9.37", "version": "0.9.38",
"description": "The framework library that lifts up your code.", "description": "The framework library that lifts up your code.",
"main": "lib/index.js", "main": "lib/index.js",
"types": "lib/index.d.ts", "types": "lib/index.d.ts",

@ -13,7 +13,7 @@ import {
TokenRepository, TokenRepository,
} from './types' } from './types'
import {HTTPError} from '../../http/HTTPError' import {HTTPError} from '../../http/HTTPError'
import {Awaitable, HTTPStatus, Maybe, right} from '../../util' import {HTTPStatus, Maybe} from '../../util'
import {view} from '../../http/response/ViewResponseFactory' import {view} from '../../http/response/ViewResponseFactory'
import {SecurityContext} from '../context/SecurityContext' import {SecurityContext} from '../context/SecurityContext'
import {redirect} from '../../http/response/RedirectResponseFactory' import {redirect} from '../../http/response/RedirectResponseFactory'
@ -50,14 +50,13 @@ export class OAuth2Server extends Controller {
Route.post('/oauth2/token') Route.post('/oauth2/token')
.alias('@oauth2:token') .alias('@oauth2:token')
.parameterMiddleware<OAuth2Client>(async req =>
right(await req.make<OAuth2Server>(OAuth2Server).getClientFromRequest(req)))
.passingRequest() .passingRequest()
.calls<OAuth2Server>(OAuth2Server, x => x.issue) .calls<OAuth2Server>(OAuth2Server, x => x.issue)
} }
issue(request: Request, client: OAuth2Client): Awaitable<ResponseObject> { async issue(request: Request): Promise<ResponseObject> {
const grant = request.safe('grant_type').in(grantTypes) const grant = request.safe('grant_type').in(grantTypes)
const client = await this.getClientFromRequest(request)
if ( grant === GrantType.Client ) { if ( grant === GrantType.Client ) {
return this.issueFromClient(request, client) return this.issueFromClient(request, client)

Loading…
Cancel
Save