com.suibari.nagi.createSsoTicket

姉妹アプリ(botたんのお部屋など)へサインイン済みのまま移動するための、短命・単回使用の署名付きチケットを発行する。チケットは「この利用者は指定の DID である」という主張のみを含み、アクセストークンや権限は一切含まない。

Repository @suibari.com did:plc:uixgxpiqf4i63p6rgpu7ytmx namespace authority
Details · procedure
Kindprocedure
Authoritynagi.suibari.com
Indexed
cid bafyreihkjksxqglitol2dk4eroy7trcxyd3ys3b5dxvghi3huis7jrnm64

Checks

Valid
  • unlimited-string defs.main.input.schema.properties.audienceNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.main.output.schema.properties.ticketNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "姉妹アプリ(botたんのお部屋など)へサインイン済みのまま移動するための、短命・単回使用の署名付きチケットを発行する。チケットは「この利用者は指定の DID である」という主張のみを含み、アクセストークンや権限は一切含まない。",
      "errors": [
        {
          "name": "AuthRequired"
        },
        {
          "name": "InvalidRequest"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "audience": {
              "description": "遷移先アプリの origin。AppView 側の許可リストと完全一致する必要がある。例: https://room.bot-tan.com",
              "type": "string"
            }
          },
          "required": [
            "audience"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "expiresIn": {
              "description": "チケットの有効期間(秒)。",
              "type": "integer"
            },
            "ticket": {
              "description": "ES256 で署名された compact JWS。typ は nagi+passport。",
              "type": "string"
            }
          },
          "required": [
            "ticket",
            "expiresIn"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "com.suibari.nagi.createSsoTicket",
  "lexicon": 1
}