Appearance
me.virmesh.account.registerAccountKey
アカウントに公開鍵を登録します。
標準的なアカウントの登録方法です。
challengeベースの検証が必要な場合、me.virmesh.register.startChallenge を呼び出してチャレンジを実行してください。
Endpoint
Request schema
payload.key_typestringRequired鍵種別。現時点では ed25519 を想定します。
payload.public_keystringRequired登録する公開鍵です。
payload.created_atintegerRequiredUNIX epoch milliseconds を送ります。
payload.challengestringOptionalchallenge ベースの検証がある場合だけ送ります。
signaturestringRequiredcanonical JSON of payload に対する署名です。
Request example
{
"payload": {
"key_type": "ed25519",
"public_key": "base64-public-key",
"created_at": 1770000000000,
"challenge": "challenge-token"
},
"signature": "base64-signature"
}Responses
201status+me.virmesh.success.accountRegistered公開鍵がアカウントに登録されたことを示します。
status+me.virmesh.success.accountRegistered公開鍵がアカウントに登録されたことを示します。
me.virmesh.account.registerAccountKey が正常終了し、
指定した公開鍵がアカウントに関連付けられたときに返します。
account registered
{
"status": "status+me.virmesh.success.accountRegistered"
}400status+me.virmesh.json.invalid_payload`payload`がactionの期待する形式ではないことを示します。
status+me.virmesh.json.invalid_payload`payload`がactionの期待する形式ではないことを示します。
リクエストデータ自体はJSON objectとして解釈できたものの、 期待する形式と一致しない場合に使います。
Status payload
payload.messagestringRequired検証に失敗した理由を表す詳細メッセージです。
invalid payload
{
"status": "status+me.virmesh.json.invalid_payload",
"payload": {
"message": "送信されたペイロードが正しい形式ではありません。"
}
}400status+me.virmesh.key.invalid_key送信された公開鍵がこの key scheme では受理できないことを示します。
status+me.virmesh.key.invalid_key送信された公開鍵がこの key scheme では受理できないことを示します。
公開鍵の encoding、byte length、または key material が想定する key type に 合致しない場合に返します。
Status payload
payload.messagestringRequired公開鍵が不正である理由を表す詳細メッセージです。
invalid key
{
"status": "status+me.virmesh.key.invalid_key",
"payload": {
"message": "送信された鍵が無効です。"
}
}400status+me.virmesh.key.invalid_signature署名の形式が不正、または署名検証に失敗したことを示します。
status+me.virmesh.key.invalid_signature署名の形式が不正、または署名検証に失敗したことを示します。
この status は署名文字列が base64 として不正な場合と、 復元できた署名が検証に失敗した場合に使われます。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
signature verification failed
{
"status": "status+me.virmesh.key.invalid_signature",
"payload": {
"message": "Signature verification failed."
}
}400status+me.virmesh.key.unsupported_keytype送信された鍵種別がそのサーバーでサポートされていないことを示します。
status+me.virmesh.key.unsupported_keytype送信された鍵種別がそのサーバーでサポートされていないことを示します。
指定された鍵方式にサーバーが対応しておらず、リクエストを処理できないことを示します。
例えば、action が ed25519 鍵を要求しているにもかかわらず、クライアントが secp256k1 鍵を送信した場合などに返されます。
Status payload
payload.messagestringRequired未対応であることを示すメッセージです。
unsupported key type
{
"status": "status+me.virmesh.key.unsupported_keytype",
"payload": {
"message": "送信された鍵の種類はサポートされていません。"
}
}401status+me.virmesh.registerAccountKey.invalid_challenge`registerAccountKey` に送信した challenge が無効であることを示します。
status+me.virmesh.registerAccountKey.invalid_challenge`registerAccountKey` に送信した challenge が無効であることを示します。
me.virmesh.account.registerAccountKey で、送信した challenge token が失効、改ざん、または成功していないことを示します。
Status payload
payload.messagestringRequiredchallenge が無効である理由を表す詳細メッセージです。
invalid challenge
{
"status": "status+me.virmesh.registerAccountKey.invalid_challenge",
"payload": {
"message": "送信されたチャレンジが成功していません。"
}
}501status+me.virmesh.action.not_supported要求した action が現在の server では利用できないことを示します。
status+me.virmesh.action.not_supported要求した action が現在の server では利用できないことを示します。
指定されたactionがサーバー上で無効化されており、使用できないことを示します。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
action is disabled
{
"status": "status+me.virmesh.action.not_supported",
"payload": {
"message": "registerAccountKeyによる登録がサポートされていません。"
}
}