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.Field
class JWK : Record {
@Field
var alg: String = ""
@Field
var kty: String = ""
@Field
var crv: String? = null
@Field
var x: String? = null
@Field
var y: String? = null
@Field
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 JWK(
@Field var alg: String = "",
@Field var kty: String = "",
@Field var crv: String? = null,
@Field var x: String? = null,
@Field var y: String? = null,
@Field var e: String? = null,
@Field var n: String? = null,
@Field var d: String? = null,
@Field var use: String? = null,
@Field var kid: String? = null
) : Record
class JWKPair : Record {
@Field
val privateKey: JWK = JWK()
@Field
val publicKey: JWK = JWK()
}
class JWKPair(@Field val privateKey: JWK, @Field val publicKey: JWK) : Record
@@ -3,156 +3,74 @@ package expo.modules.blueskyoauthclient
import expo.modules.kotlin.records.Record
import expo.modules.kotlin.records.Field
class JWTHeader : Record {
@Field
val alg: String = ""
@Field
var jku: String? = null
@Field
var jwk: JWK = JWK()
@Field
var kid: String? = null
@Field
var typ: String? = null
@Field
var cty: String? = null
@Field
var crit: String? = null
}
class JWTHeader(
@Field var alg: String = "",
@Field var jku: String? = null,
@Field var jwk: JWK = JWK(),
@Field var kid: String? = null,
@Field var typ: String? = null,
@Field var cty: String? = null,
@Field var crit: String? = null
) : Record
class JWTPayload : Record {
@Field
var iss: String? = null
@Field
var aud: String? = null
@Field
var sub: String? = null
@Field
var exp: Int? = null
@Field
var nbr: Int? = null
@Field
var iat: Int? = null
@Field
var jti: String? = null
@Field
var htm: String? = null
@Field
var htu: String? = null
@Field
var ath: String? = null
@Field
var acr: String? = null
@Field
var azp: String? = null
@Field
var amr: String? = null
@Field
var cnf: JWTPayloadCNF? = null
@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 JWTPayload(
@Field var iss: String? = null,
@Field var aud: String? = null,
@Field var sub: String? = null,
@Field var exp: Int? = null,
@Field var nbr: Int? = null,
@Field var iat: Int? = null,
@Field var jti: String? = null,
@Field var htm: String? = null,
@Field var htu: String? = null,
@Field var ath: String? = null,
@Field var acr: String? = null,
@Field var azp: String? = null,
@Field var amr: String? = null,
@Field var cnf: JWTPayloadCNF? = null,
@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,
) : Record
class JWTPayloadCNF : Record {
@Field
var kid: String? = null
@Field
var jwk: JWK? = null
@Field
var jwe: String? = null
@Field
var jku: String? = null
@Field
var jkt: String? = null
@Field
var osc: String? = null
}
class JWTPayloadCNF(
@Field var jwk: JWK? = null,
@Field var jwe: String? = null,
@Field var jku: String? = null,
@Field var jkt: String? = null,
@Field var osc: String? = null
) : Record
class JWTPayloadAddress : Record {
@Field
var formatted: String? = null
@Field
var street_address: String? = null
@Field
var locality: String? = null
@Field
var region: String? = null
@Field
var postal_code: String? = null
@Field
var country: String? = null
}
class JWTPayloadAddress(
@Field var formatted: String? = null,
@Field var street_address: String? = null,
@Field var locality: String? = null,
@Field var region: String? = null,
@Field var postal_code: String? = null,
@Field var country: String? = null
) : Record
class JWTPayloadAuthorizationDetails : Record {
@Field
var type: String = ""
@Field
var locations: Array<String>? = null
@Field
var actions: Array<String>? = null
@Field
var datatypes: Array<String>? = null
@Field
var identifier: String? = null
@Field
var privileges: Array<String>? = null
}
class JWTPayloadAuthorizationDetails(
@Field var type: String? = null,
@Field var locations: Array<String>? = null,
@Field var actions: Array<String>? = null,
@Field var datatypes: Array<String>? = null,
@Field var identifier: String? = null,
@Field var privileges: Array<String>? = null
) : Record
class JWTVerifyResponse : Record {
@Field
var protectedHeader: JWTHeader = JWTHeader()
@Field
var payload: String = ""
}
class JWTVerifyResponse(
@Field var header: JWTHeader = JWTHeader(),
@Field var payload: JWTPayload = JWTPayload(),
@Field var signature: String = ""
) : Record