Skip to content

me.virmesh.register.listChallengeTypes

利用可能なチャレンジ種類一覧を取得します。

現在の server で開始可能な challenge type の一覧を返す public action です。 各 payload.challengeTypes[].idme.virmesh.register.startChallengepayload.challengeType にそのまま渡せます。 payload.challengeTypes[].type は open enum で、 enum+<reverse-domain>.register.challengeType.<name> 形式を使います。 core type 以外にも、たとえば enum+dev.yoking.register.challengeType.discord のような owner-defined type が将来追加される前提です。

draft

Endpoint

Method
GET
Path
/public/me.virmesh.register.listChallengeTypes
Auth
none
Host
VirMesh.PlayerServer

Request schema

No request fields are defined.

Responses

200
status+me.virmesh.success.challengeTypesListed

利用可能な challenge type 一覧が取得できたことを示します。

Response body

payload.challengeTypes[].idstringRequired

server-defined challenge identifier です。me.virmesh.register.startChallengepayload.challengeType に渡します。

payload.challengeTypes[].typestringRequired

semantic challenge type を示す open enum です。core では enum+me.virmesh.register.challengeType.web_browserenum+me.virmesh.register.challengeType.proof_of_workenum+me.virmesh.register.challengeType.invite_code を使います。将来は enum+dev.yoking.register.challengeType.discord のような external type も追加されえます。

payload.challengeTypes[].displayNamestringRequired

UI 表示用の短い名前です。

payload.challengeTypes[].summarystringRequired

challenge 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 が 将来追加される前提です。

501
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による登録がサポートされていません。"
  }
}