Sider Blog

コードレビュー自動化サービス「Sider」を運営するSider株式会社のコーポレートブログです。

GitHub認証のスコープの更新

先日、@rmariuzzoの報告によって、SiderがGitHub認証でアカウントの更新に関する権限を要求していることが判明しました。この権限はSiderの動作には不要なもので、平たく言えばバグです。

Siderはリポジトリへの更新権限はWebhookの設定、Pull Requestへの解析結果の送信、コメントの送信などに必要です。一方で、Siderはアカウントの更新をしませんので、更新の権限は必要ありません。

Siderでは、アカウントの更新に必要な権限を要求しないようになりましたので、アナウンスします。

ユーザー体験

ユーザーは次回Siderにサインインするときに、GitHubから権限の確認をするように求められます。これは、Siderがユーザーのメールアドレスという新しいリソースへのアクセスを要求するようになったためです。技術的には、これまで要求していたアカウント更新の権限が、既にメールアドレスへのアクセスを許していたため、この警告には意味がありません。ユーザーの情報の読み取りの権限には、なぜかメールアドレスへのアクセスが含まれていないため、新しく要求する必要がありました。

メールアドレスは、ユーザーの識別やSiderから送信するメールの送り先などに利用されているため、これを要求しないように変更する予定はありません。

権限の更新

この修正によって、新しくサインアップするユーザーにはアカウント更新の権限を要求しなくなりましたが、既存のユーザーに対しては以前に要求されたアカウント更新権限が付与されたままになってしまいます。

既に認可されてしまっているアカウント更新権限を取り除くためには、Siderにログインして操作を行ってください。

アカウント設定ページに「認証のリセット」という項目を追加しています。ここから再度の認可をリクエストし、不要な権限を取り除くことができます。「リセット」ボタンをクリックすると、再度サインインするように要求されますので、サインインしGitHubの認証を行ってください。Siderが要求する権限が更新され、必要最小限の権限のみが認可されるようになります。

GitHubでSiderへの認可をrevokeし、再度Siderにサインインすることでも、権限の更新が可能です。

まとめ

Siderから要求されるGitHub認証の権限を最小化しました。既に認可してしまった権限を更新するためには、アカウント設定ページからリセットの操作をする必要があります。

Siderの挙動でなにかおかしなものを見つけたり質問がある場合は、お気軽にお問い合わせください