自分の管理しているTwitterアプリで権限(permission)を途中で変えた場合に既に取得しているユーザーのトークンに与える影響について調査を行いました。調査した内容と結果を残します。
Contents
TwitterAppの権限
まずは権限の種類から改めて確認。
設定しておける権限の種類は3種類です。
他に追加でメールアドレスのリクエストをできます。
- Read-only
- Read and write
- Read, write, and Direct Messages
Read-only
Read-onlyの場合に確認画面に表示されるできることは下記です。
- このアカウントのタイムラインに表示されるツイート(非公開ツイートを含む)や、リストとコレクションを確認する。
- このアカウントでプロフィール情報とアカウントの設定を確認する。
- フォロー、ミュート、ブロックしているアカウントを確認する。
Read and write
Read and writeの場合に確認画面に表示されるできることは下記です。
Read-onlyに追加でPOST, PUT, DELETE系のAPI権限追加。
- このアカウントのタイムラインに表示されるツイート(非公開ツイートを含む)や、リストとコレクションを確認する。
- このアカウントでプロフィール情報とアカウントの設定を確認する。
- フォロー、ミュート、ブロックしているアカウントを確認する。
- 他のアカウントをフォロー、フォロー解除する。
- このアカウントでプロフィールとアカウントの設定を変更する。
- このアカウントでツイートを送信および削除する、他のアカウントのツイートをエンゲージメント(いいね、いいねの取り消し、ツイートへの返信、リツイートなど)する。
- このアカウントでリストやコレクションを作成、管理、削除する。
- 他のアカウントをミュート、ブロック、報告する。
Read, write, and Direct Messages
Read, write, and Direct Messagesの場合に確認画面に表示されるできることは、Read and writeと同じ表示でした。
Direct Messagesの部分はどこに…?
Request email address
Request email addressも追加している場合には、認証の確認画面に「登録済みのメールアドレスを取得する。」というのが追加されます。
権限設定を変える場合の影響
設定画面から権限設定を変えた場合の影響についてです。
権限のできることが増える場合
「Read-only」から「Read and write」などのように元の設定よりも変更後のほうができることが多い場合。
TwitterログインなどでTwitterの認証に飛んだ時にすぐにリダイレクトせずに新しい権限の認証が表示されます。そのためユーザーが改めて認証を行った場合には新しい権限のトークンを取得することができます。
ただし既に取得済みのトークンは前の権限のものになるため追加した権限のAPIは使えません。
そのためサービス等の場合には再取得された新しいトークンであるかの確認などを入れる必要がでます。
あるいはトークンの権限も保存しておくかなどの対応を。
権限のできることが減る場合
改めて認証などもなく取得済みのトークンもそのまま使えます。Twitterアカウントの利用しているアプリの部分を見ても前の権限のままになっています。
サービスなどで使っている場合は特に対応も必要なく設定画面から権限を変えるだけで済みます。
新たに認証を行う場合には変更後の権限で確認画面が表示されて対応したトークンになります。
まとめ
Twitter Appの権限を変えた場合の影響についてでした。
変更しても再認証されたり、前のトークン自体も使えるのでそこまで大きい影響はなさそうです。
権限のできることが増える場合のみ、変更前に取得済みのトークンでは困る場合もあると思うのでそこだけ注意しましょう。