update id
This commit is contained in:
@@ -76,6 +76,7 @@ class OpenIDCode(OpenIDCode_):
|
||||
).filter(scope)
|
||||
|
||||
if user.scope:
|
||||
# Used to define permission granularity
|
||||
user_info['scope'] = user.scope
|
||||
|
||||
return user_info
|
||||
@@ -247,10 +248,13 @@ class RefreshTokenGrant(grants.RefreshTokenGrant):
|
||||
"""The authorization server MAY revoke the old refresh token after
|
||||
issuing a new refresh token to the client."""
|
||||
|
||||
logger.debug('Revoking old refresh token', refresh_token=refresh_token)
|
||||
token = getattr(refresh_token, 'refresh_token', None)
|
||||
logger.debug('Revoking old refresh token', refresh_token=token)
|
||||
user = refresh_token.get_user()
|
||||
|
||||
if not token:
|
||||
return None
|
||||
|
||||
with dyn.transact_writer() as transact:
|
||||
transact.delete(
|
||||
key=KeyPair(
|
||||
|
||||
@@ -48,11 +48,13 @@ def authorize():
|
||||
if not client_scopes.issubset(user_scopes):
|
||||
raise ForbiddenError('Access denied')
|
||||
|
||||
return server.create_authorization_response(
|
||||
response = server.create_authorization_response(
|
||||
request=router.current_event,
|
||||
grant_user=sub,
|
||||
grant=grant,
|
||||
)
|
||||
|
||||
logger.debug(response)
|
||||
except JoseError as err:
|
||||
logger.exception(err)
|
||||
raise BadRequestError(str(err))
|
||||
@@ -62,6 +64,8 @@ def authorize():
|
||||
status_code=err.status_code,
|
||||
msg=dict(err.get_body()), # type: ignore
|
||||
)
|
||||
else:
|
||||
return response
|
||||
|
||||
|
||||
def _user_scopes(sub: str) -> set:
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
from aws_lambda_powertools import Logger
|
||||
from aws_lambda_powertools.event_handler.api_gateway import Router
|
||||
|
||||
from oauth2 import RevocationEndpoint, server
|
||||
|
||||
logger = Logger(__name__)
|
||||
router = Router()
|
||||
|
||||
|
||||
@router.post('/revoke')
|
||||
def revoke():
|
||||
return server.create_endpoint_response(
|
||||
response = server.create_endpoint_response(
|
||||
RevocationEndpoint.ENDPOINT_NAME,
|
||||
router.current_event,
|
||||
)
|
||||
logger.debug(response)
|
||||
return response
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
from aws_lambda_powertools import Logger
|
||||
from aws_lambda_powertools.event_handler.api_gateway import Router
|
||||
|
||||
from oauth2 import server
|
||||
|
||||
logger = Logger(__name__)
|
||||
router = Router()
|
||||
|
||||
|
||||
@router.post('/token')
|
||||
def issue_token():
|
||||
return server.create_token_response(router.current_event)
|
||||
response = server.create_token_response(router.current_event)
|
||||
logger.debug(response)
|
||||
return response
|
||||
|
||||
@@ -59,7 +59,8 @@ export async function loader({ request, context }: Route.LoaderArgs) {
|
||||
Location: loginUrl.toString()
|
||||
}
|
||||
})
|
||||
} catch {
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return new Response(null, { status: httpStatus.INTERNAL_SERVER })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,7 +77,8 @@ export async function action({ request, context }: Route.ActionArgs) {
|
||||
status: httpStatus.FOUND,
|
||||
headers
|
||||
})
|
||||
} catch {
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return Response.json({}, { status: httpStatus.INTERNAL_SERVER })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,12 @@
|
||||
import type { Route } from './+types'
|
||||
|
||||
export async function action({ request, context }: Route.ActionArgs) {
|
||||
const url = new URL(request.url)
|
||||
const issuerUrl = new URL(url.pathname, context.cloudflare.env.ISSUER_URL)
|
||||
const r = await fetch(issuerUrl.toString(), {
|
||||
method: request.method,
|
||||
headers: request.headers,
|
||||
body: await request.text()
|
||||
})
|
||||
export const loader = proxy
|
||||
export const action = proxy
|
||||
|
||||
return new Response(await r.text(), {
|
||||
status: r.status,
|
||||
headers: r.headers
|
||||
})
|
||||
}
|
||||
|
||||
export async function loader({ request, context }: Route.ActionArgs) {
|
||||
async function proxy({
|
||||
request,
|
||||
context
|
||||
}: Route.ActionArgs): Promise<Response> {
|
||||
const url = new URL(request.url)
|
||||
const issuerUrl = new URL(url.pathname, context.cloudflare.env.ISSUER_URL)
|
||||
const r = await fetch(issuerUrl.toString(), {
|
||||
@@ -23,6 +14,8 @@ export async function loader({ request, context }: Route.ActionArgs) {
|
||||
headers: request.headers
|
||||
})
|
||||
|
||||
console.log('[response]', r)
|
||||
|
||||
return new Response(await r.text(), {
|
||||
status: r.status,
|
||||
headers: r.headers
|
||||
|
||||
@@ -14,7 +14,7 @@ Globals:
|
||||
Architectures:
|
||||
- x86_64
|
||||
Layers:
|
||||
- !Sub arn:aws:lambda:sa-east-1:336641857101:layer:layercake:99
|
||||
- !Sub arn:aws:lambda:sa-east-1:336641857101:layer:layercake:100
|
||||
Environment:
|
||||
Variables:
|
||||
TZ: America/Sao_Paulo
|
||||
|
||||
Reference in New Issue
Block a user