Redmineの認証方法には、ローカルやLDAPなど色々ありますが、Google Appsの認証を利用することも出来るそうなのでやってみました。やってみると、思ったよりも簡単に実現できたのでメモとして残しておきます。
【準備(インストール)】
■ Redmineに「redmine_omniauth_google」プラグインをインストールする。
プラグインインストールと反映
[html]
$ cd /path/to/redmine/plugins/
$ git clone https://github.com/twinslash/redmine_omniauth_google.git
$ cd /path/to/redmine/
$ bundle install
$ rake db:migrate_plugins RAILS_ENV=production
[/html]
再起動します。
[html]
$ touch /path/to/redmine/tmp/restart.txt
[/html]
■ Google側での設定
1, https://cloud.google.com/console にアクセスする。 (管理者であることが条件)
2, 「プロジェクトを作成」ボタンで、新規プロジェクトを作成する。
3, 作成プロジェクトを選択し、「APIと認証」> 「認証情報」をクリック。
4, 「新しいクライアントIDを作成」を選択。
5, 「ウェブアプリケーション」 を選択し、「承認済みの JAVASCRIPT 生成元」に自分のredmineドメインを登録します。
6, 「クライアント ID」と 「クライアント シークレット」をメモします。
これでアカウント設定側の作業は完了となります。
【設定】
1, Redmineにログイン。
2, 設定 > プラグイン > Redmine Omniauth Google plugin の設定をクリック。
3, Google Apps側の情報登録画面になります。
Client ID: 「クライアント ID」を記入。
Client Secret: 「クライアント シークレット」を記入。
Available domains: Google Appsでの利用ドメインを記載します。
※ 記載しておかないと、すべてのGoogle Appsドメインと連携可能になってしまいます。
Oauth authentification: チェックを入れます。
4, 適用 をクリックして反映します。
ログアウトして、ログイン画面に戻ると、「Login via Google」というボタンが表示されています。
ボタンをクリックするとログインが可能です。
【運用について】
下記サイトに運用に関する記述がありまして参考になったので記載しておきます。利用用途によって、有効・無効しておくものがありそうです。
【参考】
Knowledge for Google Products: 【まめ知識】RedmineでGoogle Apps認証!
今回の手順は、プラグインページに書いあります。ただし、Google AppsのAPI管理画面の手順は少々古かったです。
twinslash/redmine_omniauth_google · GitHub
以上、快適なRedmineログインライフを。