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

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

  関連記事

CentOS 6.5にRedmineをインストールするためにrubyをインストールする

とりあえずgitは入っている前提で [crayon-594e24883f9b79 …

chromium OS をインストールするためのUSBをMacで作る

別にChromeBookを購入するお金をけちるわけではないのですが。 chrom …

「第14回RxTStudy(Redmine勉強会)」に行ってきました

土曜日の真っ昼間に半分以上が初参加者さんで80席が満席。 それだけRedmine …

CentOS 6.5にgit連携のTracを構築する

秋の夜長に自宅でTracサーバを構築してみる。 ひとまずRedmineはいったん …

RedmineにEasy Gantt プラグインをインストールしようとしたらRubyのバージョンが古いという事にひっかかったのでRubyもアップグレードした

RedmineにEasy Ganttプラグインをインストールしました。 標準のガ …

Google関連のAPIを試すためのGoogleSiteを作ってみました

組み込み機能で出来る事は組み込み機能で と思いまして、Googleサイトを試験的 …

Pandoc PDF出力時に目次とヘッダをつける

目次をつける 環境などはPandoc関連記事をご確認ください。 Pandoc実行 …

Tracの外観をプラグインで変更する-TracpathThemeプラグイン

プラグインをインストールするだけで外観を変更する こんな感じのUIで5色(Red …

Googleカレンダーの予定をV3 APIでPHPからJSONを取得してWebページに表示する

Googleカレンダーを使って管理しているライブスケジュールを日付によって、 未 …

Redmine3.0.0に CSV Importerプラグインをインストールする

バグ管理や開発の現場だけではなく進捗管理などにも重宝出来るRedmine。 その …