better implementation
This commit is contained in:
@@ -14,22 +14,24 @@ public class ExpoBlueskyOAuthClientModule: Module {
|
||||
return CryptoUtil.getRandomValues(byteLength: byteLength)
|
||||
}
|
||||
|
||||
AsyncFunction ("generateKeyPair") { (kid: String?, promise: Promise) in
|
||||
let keypair = try? CryptoUtil.generateKeyPair(kid: kid)
|
||||
AsyncFunction ("generateJwk") { (algo: String?, promise: Promise) in
|
||||
if algo != "ES256" {
|
||||
promise.reject("GenerateKeyError", "Algorithim not supported.")
|
||||
return
|
||||
}
|
||||
|
||||
let keypair = try? CryptoUtil.generateKeyPair()
|
||||
|
||||
guard let keypair = keypair else {
|
||||
guard keypair != nil else {
|
||||
promise.reject("GenerateKeyError", "Error generating JWK.")
|
||||
return
|
||||
}
|
||||
|
||||
promise.resolve([
|
||||
"publicKey": keypair.publicJWK.toJson(),
|
||||
"privateKey": keypair.privateJWK.toJson()
|
||||
])
|
||||
promise.resolve(keypair)
|
||||
}
|
||||
|
||||
AsyncFunction("createJwt") { (jwk: String, header: String, payload: String, promise: Promise) in
|
||||
guard let jwt = JWTUtil.createJwt(jwk, header: header, payload: payload) else {
|
||||
AsyncFunction("createJwt") { (header: JWTHeader, payload: JWTPayload, jwk: JWK, promise: Promise) in
|
||||
guard let jwt = JWTUtil.createJwt(header: header, payload: payload, jwk: jwk) else {
|
||||
promise.reject("JWTError", "Error creating JWT.")
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user