Appearance
obj+me.virmesh.player.profile
player の公開プロフィール object です。
Description
公開解決可能な player profile です。
handle record と profile module 群をまとめた composite payload で、
top-level の response 署名は持たず、各部分を対象 player 本人の鍵で独立に署名します。
payload.handle.record は current handle record を反映し、
payload.modules.profile+me.virmesh.player.displayName.payload は PlayerServer が保持する displayName module payload を反映します。
v1 では handle と必須 module profile+me.virmesh.player.displayName の両方が揃っている場合だけ公開プロフィールとして解決されます。
Aliases
playerProfileme.virmesh.player.profile
Fields
current handle record payload です。
References obj+me.virmesh.handle.record : player に紐づく current handle record です。
idstringRequiredhandle owner の player identifier です。
primaryHandlestringRequiredplayer の canonical primary handle です。
secondaryHandlesstring[]Required同一 player に解決される secondary handle 一覧です。
playerServerstringRequiredplayer を管理する PlayerServer の absolute URL です。
updated_atintegerRequiredこの handle record payload を生成した時刻です。epoch second を返します。
handle.signaturestringRequiredcanonical JSON of handle.record に対する、対象 player 本人の署名です。
公開プロフィールの必須 displayName module payload です。
References profile+me.virmesh.player.displayName : player の必須 profile displayName module payload です。
modulestringRequired常に profile+me.virmesh.player.displayName を返します。
idstringRequiredmodule owner の player identifier です。
displayNamestringRequiredPlayerServer が保持する公開 display name です。
updated_atintegerRequiredこの module payload を生成した時刻です。epoch second を返します。
modules.profile+me.virmesh.player.displayName.signaturestringRequiredcanonical JSON of modules.profile+me.virmesh.player.displayName.payload に対する、対象 player 本人の署名です。
bio と image を持つ optional profile card module payload です。
References profile+me.virmesh.player.card : player の optional profile card module payload です。
modulestringRequired常に profile+me.virmesh.player.card を返します。
idstringRequiredmodule owner の player identifier です。
biostringOptionalplain text の自己紹介文です。
PlayerServer 内の immutable image asset を指す参照 object です。
References obj+me.virmesh.player.profileImage : PlayerServer 内に保存された公開プロフィール画像を指す参照 object です。
assetIdstringRequiredPlayerServer 内の immutable profile image asset identifier です。
contentTypestringRequired画像の HTTP content type です。v1 は image/png または image/jpeg を使います。
hashstringRequired画像 body hash です。v1 は sha256:<base64url> を使います。
widthintegerRequired画像の pixel width です。
heightintegerRequired画像の pixel height です。
sizeintegerRequired画像 body の byte size です。
updated_atintegerRequiredこの module payload を生成した時刻です。epoch second を返します。
modules.profile+me.virmesh.player.card.signaturestringOptionalcanonical JSON of modules.profile+me.virmesh.player.card.payload に対する、対象 player 本人の署名です。
Examples
resolved public profile
{
"handle": {
"record": {
"id": "medi:player:ed25519:base64-public-key",
"primaryHandle": "alice@virmesh.me",
"secondaryHandles": [
"alice@example.com"
],
"playerServer": "https://ps.example.com/",
"updated_at": 1770000100
},
"signature": "base64-signature-by-player-for-handle-record"
},
"modules": {
"profile+me.virmesh.player.displayName": {
"payload": {
"module": "profile+me.virmesh.player.displayName",
"id": "medi:player:ed25519:base64-public-key",
"displayName": "Alice",
"updated_at": 1770000200
},
"signature": "base64-signature-by-player-for-display-name-module"
},
"profile+me.virmesh.player.card": {
"payload": {
"module": "profile+me.virmesh.player.card",
"id": "medi:player:ed25519:base64-public-key",
"bio": "VR world builder",
"image": {
"assetId": "profimg_123",
"contentType": "image/png",
"hash": "sha256:base64url-hash",
"width": 512,
"height": 512,
"size": 42000
},
"updated_at": 1770000300
},
"signature": "base64-signature-by-player-for-profile-card-module"
}
}
}Referenced by
| Kind | Reference | Field |
|---|---|---|
| Action response (200) | me.virmesh.player.resolveProfile | payload |
| Status payload | status+me.virmesh.success.playerProfileResolved | payload |