Appearance
me.virmesh.register.listChallengeTypes
利用可能なチャレンジ種類一覧を取得します。
現在の server で開始可能な challenge type の一覧を返す public action です。
各 payload.challengeTypes[].id は me.virmesh.register.startChallenge の
payload.challengeType にそのまま渡せます。
payload.challengeTypes[].type は open enum で、
enum+<reverse-domain>.register.challengeType.<name> 形式を使います。
core type 以外にも、たとえば
enum+dev.yoking.register.challengeType.discord のような
owner-defined type が将来追加される前提です。
Endpoint
Request schema
No request fields are defined.
Responses
200status+me.virmesh.success.challengeTypesListed利用可能な challenge type 一覧が取得できたことを示します。
status+me.virmesh.success.challengeTypesListed利用可能な challenge type 一覧が取得できたことを示します。
Response body
payload.challengeTypes[].idstringRequiredserver-defined challenge identifier です。me.virmesh.register.startChallenge の payload.challengeType に渡します。
payload.challengeTypes[].typestringRequiredsemantic challenge type を示す open enum です。core では enum+me.virmesh.register.challengeType.web_browser、enum+me.virmesh.register.challengeType.proof_of_work、enum+me.virmesh.register.challengeType.invite_code を使います。将来は enum+dev.yoking.register.challengeType.discord のような external type も追加されえます。
payload.challengeTypes[].displayNamestringRequiredUI 表示用の短い名前です。
payload.challengeTypes[].summarystringRequiredchallenge type の短い説明です。
Response example
{
"status": "status+me.virmesh.success.challengeTypesListed",
"payload": {
"challengeTypes": [
{
"id": "web_browser",
"type": "enum+me.virmesh.register.challengeType.web_browser",
"displayName": "Captcha",
"summary": "ブラウザ上でCaptchaを行い認証します。"
},
{
"id": "proof_of_work",
"type": "enum+me.virmesh.register.challengeType.proof_of_work",
"displayName": "Proof of Work",
"summary": "PCの計算能力によって認証します。"
},
{
"id": "invite_code",
"type": "enum+me.virmesh.register.challengeType.invite_code",
"displayName": "Invite Code",
"summary": "招待コードの入力によって認証します。"
}
]
}
}me.virmesh.register.listChallengeTypes が正常終了し、
現在の server で利用可能な challenge type 一覧を返したときに返ります。
一覧は exhaustive であるとは限らず、owner-defined な external type が
将来追加される前提です。
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による登録がサポートされていません。"
}
}