OpenProject OmniAuth SAML Single-Sign Onプラグインを使用して、OpenProject との SSO(Single Sign-On) 統合をセットアップしようとしています。関連する詳細で構成しました。メタデータを生成し、Shibboleth を利用する IDP に登録しました。プラグインは、openproject ログイン フォームに追加のログイン ボタンを表示します。それをクリックすると、IDP のログイン ページに適切にリダイレクトされます。資格情報を提供すると、前述の AssertionConsumerService URL に正しくリダイレクトされます。の形https://example.com/openproject/auth/saml/callback
です。しかし、ページには不正なリクエスト エラーが表示されています。ファイルをデバッグするapp/controllers/concerns/omniauth_login.rb
と、関数内でomniauth_login
次のコード行によって 400 エラーが発生することがわかりました。
auth_hash = request.env['omniauth.auth']
return render_400 unless auth_hash.valid?
の値auth_hash
が空のようです。これは、属性マッピングまたはその他の原因による問題でしょうか? 私は PHP バックグラウンドから来ており、Ruby on Rails の経験はありません。そのため、問題をデバッグするのは困難です。私はグーグルをたくさん試しましたが、役に立つものは何も見つかりませんでした。
どんな助けでも大歓迎です。
ありがとう