Skip to content

Instantly share code, notes, and snippets.

@cardoso
Last active March 10, 2021 17:49
Show Gist options
  • Save cardoso/e56af370f49f9e623574a4443394754b to your computer and use it in GitHub Desktop.
Save cardoso/e56af370f49f9e623574a4443394754b to your computer and use it in GitHub Desktop.
import AWSLambdaEvents
import AWSLambdaRuntime
import SwiftJWT
import Foundation
Lambda.run { (context: Lambda.Context, event: APIGateway.Request, callback: @escaping (Result<APIGateway.Response, Error>) -> Void) in
guard
let bodyData = event.body?.data(using: .utf8),
let json = try? JSONSerialization.jsonObject(with: bodyData, options: []) as? [String: Any],
let userId = json["user_id"] as? String
else {
callback(.success(APIGateway.Response(statusCode: .badRequest)))
return
}
if let jwt = try? generateJWT(for: userId) {
callback(.success(APIGateway.Response(statusCode: .ok, body: jwt)))
} else {
callback(.success(.init(statusCode: .internalServerError)))
}
}
func generateJWT(for userId: String) throws -> String {
return "" // TODO: Generate JWT
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment