yamamanx

growing hard days

*

redmine_omniauth_googleプラグインをRedmine3.0.0で動くようにする

   


Redmine-Logo-CyberSprocket-Composite-300x300-png8 copy

redmine_omniauth_googleプラグインをインストールしたところ、エラーが発生。
Redmine3.0.0には対応していないらしい。
なので、Rubyの経験はなかったのですが、基礎は調べて対応してみました。
おかしなところは指摘してもらえたら嬉しいです。

修正後のプラグイン

元のプラグインをForkして修正しました。
https://github.com/yamamanx/redmine_omniauth_google

発生したエラー

app/controllers/redmine_oauth_controller.rb

上記のコードが「undefined method」で怒られるので最初はfind_or_initialize(email)にしたら「Unknown column ‘users.email’ in ‘where clause’:」となった。

Redmine3.0.0の新機能

  • 検索機能の改善 (高速化、未完了チケットのみ検索するオプション、添付ファイル名の検索)
  • トラッカーごとのデフォルトステータスの指定
  • ユーザーに複数のメールアドレスを登録
  • 添付ファイルの説明欄の編集
  • Rails 4.2 / Ruby 2.2 のサポート

主な機能は上記のとおりなので、「複数のメールアドレス登録」がひっかかってしまったのだろうと思いました。

コードの修正箇所

元のコード

app/controllers/redmine_oauth_controller.rb

修正方法

すでにユーザーが登録済かどうかをチェックするのに、メールアドレスを使用しているのを変えなければならない。
ログインIDをキーにすればいいのですが、ログインIDはメールアドレスのアカウント部分か、それが取れなければユーザ名になっている。
かつ、ユーザ名はユーザ名を半角スペースで分割したものか、取れなければ姓、名で対応している。
これらをUserオブジェクト生成前に持ってくればいいのだろうと思いました。

修正後のコード

app/controllers/redmine_oauth_controller.rb

もしかしたら「user.mail = info[“email”]」がひっかかるかと思ったのですが、これはカラムではなくてRedmineのユーザ登録画面のデフォルト値の設定だけのようなので、問題なかったです。

Redmine 認証設定値

redmine-auth-setting

  • 認証が必要
  • 自動ログイン : 1日
  • メールでアカウントを有効化
  • パスワードの最低文字数 : 8
  • 追加メールアドレスの上限 : 5
  • 有効期間の最大値 : 1日
  • 無操作タイムアウト : 4時間
@yamamanx
開発ベンダー5年、ユーザ企業システム部門通算8年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

 - Google, ProjectManagement, Redmine ,

ad

ad

Comment

  1. Marcin より:

    Thx, this one and only this one is working with Redmine 3.x
    It was hard to understand japanese, but I installed this fork successful.
    Best regards from Poland 🙂
    Arigatoo gozaimashita

Message

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

  関連記事

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

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

Google_Calendar_API_v2_Atom_Reference_-_Google_Calendar_API_—_Google_Developers
Googleカレンダーの予定をPHPからXMLで取得してWebページに表示する(現在廃止されたAPIなので使えません)

ご注意 ※下記の記事で使用していたAPIは2016年現在使用出来なくなっています …

500px-Logo_TeX_Live.svg
CentOS 6.5にTeX Liveをインストールする

CentOS 6.5にTeX Liveをインストールする TeX Wikiを参考 …

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

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

ec2-redmine-git
AWSのAmazon LinuxにGitマスターサーバをインストールしてRedmineリポジトリブラウザで見る

Amazon LinuxにGitをインストールする Gitをインストールして自動 …

Google-apps-script-superman
GoogleAppsScriptを使ってGmailの本文を解析してSpreadSheetにエクスポートする

GoogleAppsScriptを使ってGmailの本文を解析してSpreadS …

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

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

6807_normal_1445518290_gdgkobe-badge
「Cloud Vision Api & Tensorflow勉強会」に行ってきました

「Cloud Vision Api & Tensorflow勉強会」に行 …

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

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

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

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