This commit is contained in:
Hailey
2024-04-15 01:04:51 -07:00
parent a07d291143
commit adab484fb7
2 changed files with 79 additions and 176 deletions
@@ -3,32 +3,17 @@ package expo.modules.blueskyoauthclient
import expo.modules.kotlin.records.Record import expo.modules.kotlin.records.Record
import expo.modules.kotlin.records.Field import expo.modules.kotlin.records.Field
class JWK : Record { class JWK(
@Field @Field var alg: String = "",
var alg: String = "" @Field var kty: String = "",
@Field @Field var crv: String? = null,
var kty: String = "" @Field var x: String? = null,
@Field @Field var y: String? = null,
var crv: String? = null @Field var e: String? = null,
@Field @Field var n: String? = null,
var x: String? = null @Field var d: String? = null,
@Field @Field var use: String? = null,
var y: String? = null @Field var kid: String? = null
@Field ) : Record
var e: String? = null
@Field
var n: String? = null
@Field
var d: String? = null
@Field
var use: String? = null
@Field
var kid: String? = null
}
class JWKPair : Record { class JWKPair(@Field val privateKey: JWK, @Field val publicKey: JWK) : Record
@Field
val privateKey: JWK = JWK()
@Field
val publicKey: JWK = JWK()
}
@@ -3,156 +3,74 @@ package expo.modules.blueskyoauthclient
import expo.modules.kotlin.records.Record import expo.modules.kotlin.records.Record
import expo.modules.kotlin.records.Field import expo.modules.kotlin.records.Field
class JWTHeader : Record { class JWTHeader(
@Field @Field var alg: String = "",
val alg: String = "" @Field var jku: String? = null,
@Field @Field var jwk: JWK = JWK(),
var jku: String? = null @Field var kid: String? = null,
@Field @Field var typ: String? = null,
var jwk: JWK = JWK() @Field var cty: String? = null,
@Field @Field var crit: String? = null
var kid: String? = null ) : Record
@Field
var typ: String? = null
@Field
var cty: String? = null
@Field
var crit: String? = null
}
class JWTPayload : Record { class JWTPayload(
@Field @Field var iss: String? = null,
var iss: String? = null @Field var aud: String? = null,
@Field @Field var sub: String? = null,
var aud: String? = null @Field var exp: Int? = null,
@Field @Field var nbr: Int? = null,
var sub: String? = null @Field var iat: Int? = null,
@Field @Field var jti: String? = null,
var exp: Int? = null @Field var htm: String? = null,
@Field @Field var htu: String? = null,
var nbr: Int? = null @Field var ath: String? = null,
@Field @Field var acr: String? = null,
var iat: Int? = null @Field var azp: String? = null,
@Field @Field var amr: String? = null,
var jti: String? = null @Field var cnf: JWTPayloadCNF? = null,
@Field @Field var client_id: String? = null,
var htm: String? = null @Field var scope: String? = null,
@Field @Field var nonce: String? = null,
var htu: String? = null @Field var at_hash: String? = null,
@Field @Field var c_hash: String? = null,
var ath: String? = null @Field var s_hash: String? = null,
@Field @Field var auth_time: Int? = null,
var acr: String? = null @Field var name: String? = null,
@Field @Field var family_name: String? = null,
var azp: String? = null @Field var given_name: String? = null,
@Field @Field var middle_name: String? = null,
var amr: String? = null @Field var nickname: String? = null,
@Field @Field var preferred_username: String? = null,
var cnf: JWTPayloadCNF? = null ) : Record
@Field
var client_id: String? = null
@Field
var scope: String? = null
@Field
var nonce: String? = null
@Field
var at_hash: String? = null
@Field
var c_hash: String? = null
@Field
var s_hash: String? = null
@Field
var auth_time: Int? = null
@Field
var name: String? = null
@Field
var family_name: String? = null
@Field
var given_name: String? = null
@Field
var middle_name: String? = null
@Field
var nickname: String? = null
@Field
var preferred_username: String? = null
@Field
var gender: String? = null
@Field
var picture: String? = null
@Field
var profile: String? = null
@Field
var website: String? = null
@Field
var birthdate: String? = null
@Field
var zoneinfo: String? = null
@Field
var locale: String? = null
@Field
var updated_at: Int? = null
@Field
var email: String? = null
@Field
var email_verified: String? = null
@Field
var phone_number: String? = null
@Field
var phone_number_verified: Boolean? = null
@Field
var address: JWTPayloadAddress? = null
@Field
var authorization_details: JWTPayloadAuthorizationDetails? = null
}
class JWTPayloadCNF : Record { class JWTPayloadCNF(
@Field @Field var jwk: JWK? = null,
var kid: String? = null @Field var jwe: String? = null,
@Field @Field var jku: String? = null,
var jwk: JWK? = null @Field var jkt: String? = null,
@Field @Field var osc: String? = null
var jwe: String? = null ) : Record
@Field
var jku: String? = null
@Field
var jkt: String? = null
@Field
var osc: String? = null
}
class JWTPayloadAddress : Record { class JWTPayloadAddress(
@Field @Field var formatted: String? = null,
var formatted: String? = null @Field var street_address: String? = null,
@Field @Field var locality: String? = null,
var street_address: String? = null @Field var region: String? = null,
@Field @Field var postal_code: String? = null,
var locality: String? = null @Field var country: String? = null
@Field ) : Record
var region: String? = null
@Field
var postal_code: String? = null
@Field
var country: String? = null
}
class JWTPayloadAuthorizationDetails : Record { class JWTPayloadAuthorizationDetails(
@Field @Field var type: String? = null,
var type: String = "" @Field var locations: Array<String>? = null,
@Field @Field var actions: Array<String>? = null,
var locations: Array<String>? = null @Field var datatypes: Array<String>? = null,
@Field @Field var identifier: String? = null,
var actions: Array<String>? = null @Field var privileges: Array<String>? = null
@Field ) : Record
var datatypes: Array<String>? = null
@Field
var identifier: String? = null
@Field
var privileges: Array<String>? = null
}
class JWTVerifyResponse : Record { class JWTVerifyResponse(
@Field @Field var header: JWTHeader = JWTHeader(),
var protectedHeader: JWTHeader = JWTHeader() @Field var payload: JWTPayload = JWTPayload(),
@Field @Field var signature: String = ""
var payload: String = "" ) : Record
}