in Application/Communication/ImageRecognition.Communication.Functions/Functions.cs [43:82]
public async Task<APIGatewayProxyResponse> OnConnect(APIGatewayProxyRequest request, ILambdaContext context)
{
if (_jwtValidationParameters == null)
_jwtValidationParameters = await CreateTokenValidationParameters(context);
try
{
var username = ValidateAndGetUsername(request, context);
var domainName = request.RequestContext.DomainName;
var stage = request.RequestContext.Stage;
var endpoint = $"https://{domainName}/{stage}";
if (string.IsNullOrEmpty(username))
{
context.Logger.LogLine("Error, no username claim found in JWT token");
return new APIGatewayProxyResponse
{
StatusCode = (int) HttpStatusCode.Unauthorized
};
}
context.Logger.LogLine(
$"Login with connection id: {request.RequestContext.ConnectionId}, Endpoint: {endpoint}, Username: {username}");
await _manager.LoginAsync(request.RequestContext.ConnectionId, endpoint, username);
return new APIGatewayProxyResponse
{
StatusCode = (int) HttpStatusCode.OK
};
}
catch
{
return new APIGatewayProxyResponse
{
StatusCode = (int) HttpStatusCode.Unauthorized
};
}
}