Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update account.openapi.json for SIWF v2 POST #626

Merged
merged 1 commit into from
Oct 18, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
200 changes: 200 additions & 0 deletions openapi-specs/account.openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,36 @@
"tags": [
"v2/accounts"
]
},
"post": {
"operationId": "AccountsControllerV2_postSignInWithFrequency",
"summary": "Process the result of a Sign In With Frequency v2 callback",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WalletV2LoginRequestDto"
}
}
}
},
"responses": {
"200": {
"description": "Signed in successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WalletV2LoginResponseDto"
}
}
}
}
},
"tags": [
"v2/accounts"
]
}
},
"/v1/accounts/siwf": {
Expand Down Expand Up @@ -791,6 +821,176 @@
"redirectUrl"
]
},
"WalletV2LoginRequestDto": {
"type": "object",
"properties": {
"authorizationCode": {
"type": "string",
"description": "The code returned from the SIWF v2 Authentication service that can be exchanged for the payload. Required unless an `authorizationPayload` is provided.",
"example": "680a0a68-6d3b-4d6d-89b7-0b01a6f7e86f"
},
"authorizationPayload": {
"type": "string",
"description": "The SIWF v2 Authentication payload as a JSON stringified and base64url encoded value. Required unless an `authorizationCode` is provided.",
"example": "ew0KICAidXNlclB1YmxpY0tleSI6IHsNCiAgICAiZW5jb2RlZFZhbHVlIjogIjVIWUhaOGU4a3lMRUJ1RWJzRmEyYndLWWJWU01nYVVoeW1mUlZnSDdDdU00VkNIdiIsDQogICAgImVuY29kaW5nIjogImJhc2U1OCIsDQogICAgImZvcm1hdCI6ICJzczU4IiwNCiAgICAidHlwZSI6ICJTcjI1NTE5Ig0KICB9LA0KICAidXNlcktleXMiOiBbDQogICAgew0KICAgICAgImVuY29kZWRQdWJsaWNLZXlWYWx1ZSI6ICIweGJkODk2ZmQ1NTAxZWVhMjU5ZjQ3OTg0MTVjOWZhNDQ3ZDU4ODIwZDk5YjkyNDA2NzFhNmYzNGYwYmMwM2IwMzAiLA0KICAgICAgImVuY29kZWRQcml2YXRlS2V5VmFsdWUiOiAiMHhmODExNWQzZTUwYzg2MTYzODZmMDY2ZjY1OTdlZmYwYzU3MGQ2N2M3ZTVjZDkzNjU1Njg4NGJjYzk5NDNmNDY0IiwNCiAgICAgICJlbmNvZGluZyI6ICJiYXNlMTYiLA0KICAgICAgImZvcm1hdCI6ICJiYXJlIiwNCiAgICAgICJ0eXBlIjogIlgyNTUxOSIsDQogICAgICAia2V5VHlwZSI6ICJkc25wLnB1YmxpYy1rZXkta2V5LWFncmVlbWVudCINCiAgICB9DQogIF0sDQogICJwYXlsb2FkcyI6IFsNCiAgICB7DQogICAgICAic2lnbmF0dXJlIjogew0KICAgICAgICAiYWxnbyI6ICJTUjI1NTE5IiwNCiAgICAgICAgImVuY29kaW5nIjogImJhc2UxNiIsDQogICAgICAgICJlbmNvZGVkVmFsdWUiOiAiMHgzMmFlYWViZWZmNWU4ZTEzODM3ZTg3YzQ5MWI0Mzc4MTE1MjYxZWU3NTFjYmYzYTc1ZTY5MmJiNzFhMWNmYzU3ZGRkZDhhODliYjZiNTE3ZjBiNGMyOWI0ZmFlOGUyNjQxZjM2MTEwMWNjMzg5ZmU0OTFmNTQ0NTM0ODFkZmU4OSINCiAgICAgIH0sDQogICAgICAiZW5kcG9pbnQiOiB7DQogICAgICAgICJwYWxsZXQiOiAibXNhIiwNCiAgICAgICAgImV4dHJpbnNpYyI6ICJjcmVhdGVTcG9uc29yZWRBY2NvdW50V2l0aERlbGVnYXRpb24iDQogICAgICB9LA0KICAgICAgInR5cGUiOiAiYWRkUHJvdmlkZXIiLA0KICAgICAgInBheWxvYWQiOiB7DQogICAgICAgICJhdXRob3JpemVkTXNhSWQiOiA3MjksDQogICAgICAgICJzY2hlbWFJZHMiOiBbDQogICAgICAgICAgNiwNCiAgICAgICAgICA3LA0KICAgICAgICAgIDgsDQogICAgICAgICAgOSwNCiAgICAgICAgICAxMA0KICAgICAgICBdLA0KICAgICAgICAiZXhwaXJhdGlvbiI6IDE2MDc1MzgNCiAgICAgIH0NCiAgICB9LA0KICAgIHsNCiAgICAgICJzaWduYXR1cmUiOiB7DQogICAgICAgICJhbGdvIjogIlNSMjU1MTkiLA0KICAgICAgICAiZW5jb2RpbmciOiAiYmFzZTE2IiwNCiAgICAgICAgImVuY29kZWRWYWx1ZSI6ICIweDFhMGI1ZDdkNWNhNzg4Y2VmZDE4NDk3ZDc5NzJkYTk5YzQ3NmI3NTA0YzY5MzNiYzUyYTZkZTA2NWI5NGE3NTFmMzI5Mjg5N2QzMjEzODllOTAwZmQ1MmJmMzEyYzJiZGM3ODAwZWMwMzM2YmJmMTcyY2I3ZTE5ZjU1MjJlODg0Ig0KICAgICAgfSwNCiAgICAgICJlbmRwb2ludCI6IHsNCiAgICAgICAgInBhbGxldCI6ICJoYW5kbGVzIiwNCiAgICAgICAgImV4dHJpbnNpYyI6ICJjbGFpbUhhbmRsZSINCiAgICAgIH0sDQogICAgICAidHlwZSI6ICJjbGFpbUhhbmRsZSIsDQogICAgICAicGF5bG9hZCI6IHsNCiAgICAgICAgImJhc2VIYW5kbGUiOiAid2lsd2FkZSIsDQogICAgICAgICJleHBpcmF0aW9uIjogMTYwNzUzOA0KICAgICAgfQ0KICAgIH0sDQogICAgew0KICAgICAgInNpZ25hdHVyZSI6IHsNCiAgICAgICAgImFsZ28iOiAiU1IyNTUxOSIsDQogICAgICAgICJlbmNvZGluZyI6ICJiYXNlMTYiLA0KICAgICAgICAiZW5jb2RlZFZhbHVlIjogIjB4YTYxN2FhMzEzMDQzMjY1NWY2MjU1ZWQ5NTE5MGE0N2MzMTc1NTk2ZDIwODlkMmE0OGY0M2QyNTdhYWM5NzY0YWZmMmU5NDNmMmNmZThlOGEwMzBmN2RkNzMwODE5NTMyMTVkNzU2YTBiYmU5OGY3MjQ5OWIwMjk3YWY5ZmQ3ODIiDQogICAgICB9LA0KICAgICAgImVuZHBvaW50Ijogew0KICAgICAgICAicGFsbGV0IjogInN0YXRlZnVsU3RvcmFnZSIsDQogICAgICAgICJleHRyaW5zaWMiOiAiYXBwbHlJdGVtQWN0aW9uc1dpdGhTaWduYXR1cmVWMiINCiAgICAgIH0sDQogICAgICAidHlwZSI6ICJpdGVtQWN0aW9ucyIsDQogICAgICAicGF5bG9hZCI6IHsNCiAgICAgICAgInNjaGVtYUlkIjogNywNCiAgICAgICAgInRhcmdldEhhc2giOiAwLA0KICAgICAgICAiZXhwaXJhdGlvbiI6IDE2MDc1MzgsDQogICAgICAgICJhY3Rpb25zIjogWw0KICAgICAgICAgIHsNCiAgICAgICAgICAgICJ0eXBlIjogImFkZEl0ZW0iLA0KICAgICAgICAgICAgInBheWxvYWRIZXgiOiAiMHhiZDg5NmZkNTUwMWVlYTI1OWY0Nzk4NDE1YzlmYTQ0N2Q1ODgyMGQ5OWI5MjQwNjcxYTZmMzRmMGJjMDNiMDMwIg0KICAgICAgICAgIH0NCiAgICAgICAgXQ0KICAgICAgfQ0KICAgIH0NCiAgXSwNCiAgImNyZWRlbnRpYWxzIjogWw0KICAgIHsNCiAgICAgICJAY29udGV4dCI6IFsNCiAgICAgICAgImh0dHBzOi8vd3d3LnczLm9yZy9ucy9jcmVkZW50aWFscy92MiIsDQogICAgICAgICJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdW5kZWZpbmVkLXRlcm1zL3YyIg0KICAgICAgXSwNCiAgICAgICJ0eXBlIjogWw0KICAgICAgICAiVmVyaWZpZWRFbWFpbEFkZHJlc3NDcmVkZW50aWFsIiwNCiAgICAgICAgIlZlcmlmaWFibGVDcmVkZW50aWFsIg0KICAgICAgXSwNCiAgICAgICJpc3N1ZXIiOiAiZGlkOndlYjp0ZXN0bmV0LmZyZXF1ZW5jeWFjY2Vzcy5jb20iLA0KICAgICAgInZhbGlkRnJvbSI6ICIyMDI0LTEwLTEwVDEyOjUyOjIyLjgzNyswMDAwIiwNCiAgICAgICJjcmVkZW50aWFsU2NoZW1hIjogew0KICAgICAgICAidHlwZSI6ICJKc29uU2NoZW1hIiwNCiAgICAgICAgImlkIjogImh0dHBzOi8vc2NoZW1hcy5mcmVxdWVuY3lhY2Nlc3MuY29tL1ZlcmlmaWVkRW1haWxBZGRyZXNzQ3JlZGVudGlhbC9iY2lxZTRxb2N6aGZ0aWNpNGR6ZnZmYmVsN2ZvNGg0c3I1Z3JjbzNvb3Z3eWs2eTR5bmY0NHRzaS5qc29uIg0KICAgICAgfSwNCiAgICAgICJjcmVkZW50aWFsU3ViamVjdCI6IHsNCiAgICAgICAgImlkIjogImRpZDprZXk6ejZRUDJKdlJ1WFo1d1g3N0tLOGRMOG84UWNDVm5IeTg4UnRnM2NzVXcxdFNEcGRnIiwNCiAgICAgICAgImVtYWlsQWRkcmVzcyI6ICJ3aWwud2FkZUBwcm9qZWN0bGliZXJ0eS5pbyIsDQogICAgICAgICJsYXN0VmVyaWZpZWQiOiAiMjAyNC0xMC0xMFQxMjo1MTowMi4yODMrMDAwMCINCiAgICAgIH0sDQogICAgICAicHJvb2YiOiB7DQogICAgICAgICJ0eXBlIjogIkRhdGFJbnRlZ3JpdHlQcm9vZiIsDQogICAgICAgICJ2ZXJpZmljYXRpb25NZXRob2QiOiAiZGlkOndlYjp0ZXN0bmV0LmZyZXF1ZW5jeWFjY2Vzcy5jb20jejZNa3c0eVg0YzJaM3NlU1NkblI5c3ZFTjZGdjdVa1U4anJOUE1rTXd0WkNvQVZHIiwNCiAgICAgICAgImNyeXB0b3N1aXRlIjogImVkZHNhLXJkZmMtMjAyMiIsDQogICAgICAgICJwcm9vZlB1cnBvc2UiOiAiYXNzZXJ0aW9uTWV0aG9kIiwNCiAgICAgICAgInByb29mVmFsdWUiOiAiejR2Y0RMdEpoY054dnZXY0F3VWNhMUs4YmFCSmNBa2JTcnBwdEhFVG1TZ0FhYjJkc2RkR0gxSjczTFQzc3czUkRjUzdWTE1HRkN1WWluNTNxVFRtNWM2TVAiDQogICAgICB9DQogICAgfSwNCiAgICB7DQogICAgICAiQGNvbnRleHQiOiBbDQogICAgICAgICJodHRwczovL3d3dy53My5vcmcvbnMvY3JlZGVudGlhbHMvdjIiLA0KICAgICAgICAiaHR0cHM6Ly93d3cudzMub3JnL25zL2NyZWRlbnRpYWxzL3VuZGVmaW5lZC10ZXJtcy92MiINCiAgICAgIF0sDQogICAgICAidHlwZSI6IFsNCiAgICAgICAgIlZlcmlmaWVkR3JhcGhLZXlDcmVkZW50aWFsIiwNCiAgICAgICAgIlZlcmlmaWFibGVDcmVkZW50aWFsIg0KICAgICAgXSwNCiAgICAgICJpc3N1ZXIiOiAiZGlkOndlYjp0ZXN0bmV0LmZyZXF1ZW5jeWFjY2Vzcy5jb20iLA0KICAgICAgInZhbGlkRnJvbSI6ICIyMDI0LTEwLTEwVDEyOjUyOjIyLjgzOCswMDAwIiwNCiAgICAgICJjcmVkZW50aWFsU2NoZW1hIjogew0KICAgICAgICAidHlwZSI6ICJKc29uU2NoZW1hIiwNCiAgICAgICAgImlkIjogImh0dHBzOi8vc2NoZW1hcy5mcmVxdWVuY3lhY2Nlc3MuY29tL1ZlcmlmaWVkR3JhcGhLZXlDcmVkZW50aWFsL2JjaXFtZHZteGQ1NHp2ZTVraWZ5Y2dzZHRvYWhzNWVjZjRoYWwydHMzZWV4a2dvY3ljNW9jYTJ5Lmpzb24iDQogICAgICB9LA0KICAgICAgImNyZWRlbnRpYWxTdWJqZWN0Ijogew0KICAgICAgICAiaWQiOiAiZGlkOmtleTp6NlFQMkp2UnVYWjV3WDc3S0s4ZEw4bzhRY0NWbkh5ODhSdGczY3NVdzF0U0RwZGciLA0KICAgICAgICAiZW5jb2RlZFB1YmxpY0tleVZhbHVlIjogIjB4YmQ4OTZmZDU1MDFlZWEyNTlmNDc5ODQxNWM5ZmE0NDdkNTg4MjBkOTliOTI0MDY3MWE2ZjM0ZjBiYzAzYjAzMCIsDQogICAgICAgICJlbmNvZGVkUHJpdmF0ZUtleVZhbHVlIjogIjB4ZjgxMTVkM2U1MGM4NjE2Mzg2ZjA2NmY2NTk3ZWZmMGM1NzBkNjdjN2U1Y2Q5MzY1NTY4ODRiY2M5OTQzZjQ2NCIsDQogICAgICAgICJlbmNvZGluZyI6ICJiYXNlMTYiLA0KICAgICAgICAiZm9ybWF0IjogImJhcmUiLA0KICAgICAgICAidHlwZSI6ICJYMjU1MTkiLA0KICAgICAgICAia2V5VHlwZSI6ICJkc25wLnB1YmxpYy1rZXkta2V5LWFncmVlbWVudCINCiAgICAgIH0sDQogICAgICAicHJvb2YiOiB7DQogICAgICAgICJ0eXBlIjogIkRhdGFJbnRlZ3JpdHlQcm9vZiIsDQogICAgICAgICJ2ZXJpZmljYXRpb25NZXRob2QiOiAiZGlkOndlYjp0ZXN0bmV0LmZyZXF1ZW5jeWFjY2Vzcy5jb20jejZNa3c0eVg0YzJaM3NlU1NkblI5c3ZFTjZGdjdVa1U4anJOUE1rTXd0WkNvQVZHIiwNCiAgICAgICAgImNyeXB0b3N1aXRlIjogImVkZHNhLXJkZmMtMjAyMiIsDQogICAgICAgICJwcm9vZlB1cnBvc2UiOiAiYXNzZXJ0aW9uTWV0aG9kIiwNCiAgICAgICAgInByb29mVmFsdWUiOiAiejI5YWRmdG5lSG5LeHdSOWI3Z3RSanlrTFJlR0VwdU1pWTljS0hWQ0JTejZtWThjd0ZaaUZpQVdaSGV4R3R2Qjh0YmRwZmoyRzQzeFF6dFJ6dFdhd21IRjIiDQogICAgICB9DQogICAgfQ0KICBdDQp9"
}
}
},
"GraphKeySubject": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The id type of the VerifiedGraphKeyCredential.",
"example": "did:key:z6QNucQV4AF1XMQV4kngbmnBHwYa6mVswPEGrkFrUayhttT1"
},
"encodedPublicKeyValue": {
"type": "string",
"description": "The encoded public key.",
"example": "0xb5032900293f1c9e5822fd9c120b253cb4a4dfe94c214e688e01f32db9eedf17"
},
"encodedPrivateKeyValue": {
"type": "string",
"description": "The encoded private key. WARNING: This is sensitive user information!",
"example": "0xd0910c853563723253c4ed105c08614fc8aaaf1b0871375520d72251496e8d87"
},
"encoding": {
"type": "string",
"description": "How the encoded keys are encoded. Only \"base16\" (aka hex) currently.",
"example": "base16"
},
"format": {
"type": "string",
"description": "Any addition formatting options. Only: \"bare\" currently.",
"example": "bare"
},
"type": {
"type": "string",
"description": "The encryption key algorithm.",
"example": "X25519"
},
"keyType": {
"type": "string",
"description": "The DSNP key type.",
"example": "dsnp.public-key-key-agreement"
}
},
"required": [
"id",
"encodedPublicKeyValue",
"encodedPrivateKeyValue",
"encoding",
"format",
"type",
"keyType"
]
},
"WalletV2LoginResponseDto": {
"type": "object",
"properties": {
"controlKey": {
"type": "string",
"description": "The ss58 encoded MSA Control Key of the login.",
"example": "f6cL4wq1HUNx11TcvdABNf9UNXXoyH47mVUwT59tzSFRW8yDH"
},
"msaId": {
"type": "string",
"description": "The user's MSA Id, if one is already created. Will be empty if it is still being processed.",
"example": "314159265358979323846264338"
},
"email": {
"type": "string",
"description": "The users's validated email",
"example": "[email protected]"
},
"phoneNumber": {
"type": "string",
"description": "The users's validated SMS/Phone Number",
"example": "555-867-5309"
},
"graphKey": {
"description": "The users's Private Graph encryption key.",
"example": "555-867-5309",
"allOf": [
{
"$ref": "#/components/schemas/GraphKeySubject"
}
]
},
"rawCredentials": {
"description": "Raw parsed credentials received.",
"example": [
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/undefined-terms/v2"
],
"type": [
"VerifiedEmailAddressCredential",
"VerifiableCredential"
],
"issuer": "did:web:frequencyaccess.com",
"validFrom": "2024-08-21T21:28:08.289+0000",
"credentialSchema": {
"type": "JsonSchema",
"id": "https://schemas.frequencyaccess.com/VerifiedEmailAddressCredential/bciqe4qoczhftici4dzfvfbel7fo4h4sr5grco3oovwyk6y4ynf44tsi.json"
},
"credentialSubject": {
"id": "did:key:z6QNucQV4AF1XMQV4kngbmnBHwYa6mVswPEGrkFrUayhttT1",
"emailAddress": "[email protected]",
"lastVerified": "2024-08-21T21:27:59.309+0000"
},
"proof": {
"type": "DataIntegrityProof",
"verificationMethod": "did:web:frequencyaccess.com#z6MkofWExWkUvTZeXb9TmLta5mBT6Qtj58es5Fqg1L5BCWQD",
"cryptosuite": "eddsa-rdfc-2022",
"proofPurpose": "assertionMethod",
"proofValue": "z4jArnPwuwYxLnbBirLanpkcyBpmQwmyn5f3PdTYnxhpy48qpgvHHav6warjizjvtLMg6j3FK3BqbR2nuyT2UTSWC"
}
},
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/undefined-terms/v2"
],
"type": [
"VerifiedGraphKeyCredential",
"VerifiableCredential"
],
"issuer": "did:key:z6QNucQV4AF1XMQV4kngbmnBHwYa6mVswPEGrkFrUayhttT1",
"validFrom": "2024-08-21T21:28:08.289+0000",
"credentialSchema": {
"type": "JsonSchema",
"id": "https://schemas.frequencyaccess.com/VerifiedGraphKeyCredential/bciqmdvmxd54zve5kifycgsdtoahs5ecf4hal2ts3eexkgocyc5oca2y.json"
},
"credentialSubject": {
"id": "did:key:z6QNucQV4AF1XMQV4kngbmnBHwYa6mVswPEGrkFrUayhttT1",
"encodedPublicKeyValue": "0xb5032900293f1c9e5822fd9c120b253cb4a4dfe94c214e688e01f32db9eedf17",
"encodedPrivateKeyValue": "0xd0910c853563723253c4ed105c08614fc8aaaf1b0871375520d72251496e8d87",
"encoding": "base16",
"format": "bare",
"type": "X25519",
"keyType": "dsnp.public-key-key-agreement"
},
"proof": {
"type": "DataIntegrityProof",
"verificationMethod": "did:key:z6MktZ15TNtrJCW2gDLFjtjmxEdhCadNCaDizWABYfneMqhA",
"cryptosuite": "eddsa-rdfc-2022",
"proofPurpose": "assertionMethod",
"proofValue": "z2HHWwtWggZfvGqNUk4S5AAbDGqZRFXjpMYAsXXmEksGxTk4DnnkN3upCiL1mhgwHNLkxY3s8YqNyYnmpuvUke7jF"
}
}
],
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"controlKey"
]
},
"WalletLoginConfigResponseDto": {
"type": "object",
"properties": {
Expand Down