diff --git a/book/project/07_ep.md b/book/project/07_ep.md index 7a4727a..1850215 100644 --- a/book/project/07_ep.md +++ b/book/project/07_ep.md @@ -28,6 +28,26 @@ webからのゲームは1ユーザーしかプレイできませんし、誰で 実際に現在loginしているユーザーしかログイン画面を通さないようにします。これである程度は別ユーザーにプレイされる可能性は減るでしょう。 +## 必要な機能 + +現在、本当に必要な機能を述べます。それは、oauthで他ユーザーからのlexicon(collection)への読み書き権限を設定(承認)する機能です。 + +例えば、プレイヤーが`user.bsky.social`とし、ゲーム運営を`dev.example.com`とします。 + +oauth認証をすると`user.bsky.social/com.example.dev/self`が作成され、そこにゲームデータが保存されます。`user.bsky.social/com.example.dev`への読み書き権限は以下の通り。プレイヤーはdeleteのみが可能で、post, putはできません。ゲーム運営はpost, putは可能ですが、deleteはできません。なお、ここへのpost, putは`user.bsky.social`のtoken(limit)によって行われます。もしゲーム運営である`dev.example.com`のtoken消費により実行されると、すぐにlimitに到達してしまうからです。 + +1. user.bsky.social/com.example.dev/self +2. post, putは`user.bsky.social`のtoken(limit)による + +|handle|post|put|delete| +|---|---|---|---| +|user.bsky.social|no|no|yes| +|dev.example.com|yes|yes|no| + +このようにすることで、ゲームのアイテムボックスをatprotoで実現できます。 + +しかし、このような機能は現時点では実装されていないと思います。 + ## ゲームプレイ ボスと行く場所が用意させています。アイテムがドロップします。それを拾わないとアイテムボックス(アカウント)に反映されません。