yamamanx

growing hard days

*

RedmineにGoogleAppsアカウントでログイン出来るようにする

      2015/04/06


RedmineのログインをGoogleアカウントで出来るように[redmine_omniauth_google]プラグインを使って設定します。

環境

OS : Amazon Linux
Redmine : 3.0.0

[redmine_omniauth_google]プラグインをインストールする

GoogleAppsを設定する

GoogleApps管理者で https://cloud.google.com/console にアクセス

Google_Developers_Console-1

[プロジェクトを作成]で新規プロジェクトを作成し、任意のプロジェクト名を設定します。

(理由は不明ですが不明なエラーで失敗してプロジェクト名を変えて作ったら成功しました。)

Google_Developers_Console-2

[APIと認証]-[認証情報]で[OAuth]-[新しいクライアントIDを作成]を押します。

Google_Developers_Console-3

[ウェブアプリケーション]を選択して[同意画面を設定]を押します。

Google_Developers_Console-4

[メールアドレス]を選択して[サービス名]を任意に設定して[保存]を押します。

Google_Developers_Console-5

[承認済みのJAVASCRIPT生成元]にRedmineサーバーのドメインまでを設定します。
Redmineをサブフォルダにしていてもドメインまででいいです。

[リダイレクトURI]はサブフォルダも含むRedmineのパスに oauth2callback を加えたものを設定します。

例:
– [承認済みのJAVASCRIPT生成元] http://yourdomain.com/
– [リダイレクトURI] http://yourdomain.com/redmine/oauth2callback

Google_Developers_Console-6

クライアントIDが生成されるのでクライアントIDとクライアントシークレットをコピーしておきます。

[redmine_omniauth_google]プラグインを設定する

Redmineにログインして[管理]-[プラグイン]を押します。

redmine-plugin-1

[redmine_omniauth_google]プラグインの[設定]を押します。

redmine-plugin-2

[Client ID],[Client Secret]を設定します。
[Available domains]にはGoogleAppsのドメインを設定します。
[Oauth authentification]をチェックします。

試したところ、
「NoMethodError in RedmineOauthController#oauth_google_callback」エラー

Action_Controller__Exception_caught

「find_or_initialize_by_mail」非推奨メソッドで怒られてるので、redmine_omniauth_googleプラグインを推奨メソッドに変更改修する。

次は、「Unknown column ‘users.email’ in ‘where clause’:」で怒られる。

なるほど。
Redmine3.0.0にはプラグインが対応していないという事か。
これがプラグインに頼っているとバージョンアップの時に大変になると言っていた事ですか。

という事なので、redmine_omniauth_googleプラグインをGitHubでフォークして、上の改修も含めて3.0.0対応すると決意しました。

別の記事にさせていただきます。

@yamamanx
開発ベンダー5年、ユーザ企業システム部門通算8年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

 - Google, ProjectManagement, Redmine ,

ad

ad

Message

メールアドレスが公開されることはありません。

  関連記事

Cyclemeter-google-map
自転車でナビ+記録出来るアプリ+ホルダー+バッテリー試してみた

目的 記録を蓄積して振り返りやる気を継続する 飽きないように単調にならないように …

board-redmine-agile
Redmine Agileプラグインをバージョンアップインストールする

Redmine 3.0.0でRedmineCRMのAgileプラグインをインスト …

markdown-Atom-Preview
Pandocのテストとして User’s Guideを変換してみる

Pandoc User’s GuideをダウンロードしてHTMLに変 …

chrome-remote
Chrome リモートデスクトップを使ってみる

自宅のMacをリモートで操作したい 外出用PCはWindows 8 とLinux …

Apache-HTTP-Server-Basics
Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する

EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …

Admin_SDK_Directory_Service_-_Google_Apps_Script_—_Google_Developers
Google Apps ScriptでAdmin SDK Directory Serviceを使ってグループメンバー情報を出力する

GoogleAppsのGoogleGroupをメーリングリストとして使っている人 …

Redmine-Logo-CyberSprocket-Composite-300x300-png8 copy
redmine_omniauth_googleプラグインをRedmine3.0.0で動くようにする

redmine_omniauth_googleプラグインをインストールしたところ …

Redmne-avatar
Redmine 3.0.0 にLocal Avatar プラグインをインストールしてユーザーがアバターを簡単に変更出来るようにする

Redmineのアバターは標準でGravater採用なのですが、エンドユーザーに …

redmine_logo
Redmine 3.0.0で ガントチャートの幅を変更してトラッカーを非表示にする

Redmineのガントチャートで親子チケットなど階層が深くなると肝心のチケット題 …

contacts
Redmine 3.0.0に CRMプラグインをインストールする

Redmine CRMプラグインのFreeのLightバージョンを使ってみる事に …