フリーソフトウェアのコンパイル

リバースプロキシ配下で SAML 認証

ロードバランサで SSL を終端し,バックエンドの apache サーバに mahara を構築する場合, SAML 認証すると以下のようなエラーが出て認証できない.

 Destination in response doesn't match the current URL.
 Destination is "https://mahara.example.com/mahara/auth/saml/sp/module.php/saml/sp/saml2-acs.php/default-sp",
 current URL is "http://mahara.example.com:443/mahara/auth/saml/sp/module.php/saml/sp/saml2-acs.php/default-sp".,
 referer: https://idp.mahara.example.com/idp/profile/SAML2/Redirect/SSO?execution=e5s1

対応としてソースを以下のように修正した.

mahara/auth/saml/config/config.php の編集

*** config.php.org      2018-10-25 10:28:16.000000000 +0900
--- config.php  2018-12-21 13:24:59.998987521 +0900
***************
*** 94,99 ****
--- 94,102 ----
	* See the user manual for more details.
	*/
      'baseurlpath'           => get_config('wwwroot') . 'auth/saml/sp/',
+     'application'           => array(
+            'baseURL' => get_config('wwwroot'),
+      ),
      'certdir'               => 'cert/',
      'loggingdir'            => '/tmp/',
      'datadir'               => 'data/',

日本語マニュアル

ページ下の「ヘルプ」リンクで日本語版のマニュアルへリンクする. (日本語版マニュアルが存在することが前提9

lib/manualhelp.php を編集.

*** manualhelp.php.org  2018-10-25 10:28:16.000000000 +0900
--- manualhelp.php      2019-04-19 10:58:21.772044243 +0900
***************
*** 101,107 ****
   */
  function _get_manual_language() {
      $user_lang = current_language();
!     $manual_langs = array("de", "en", "fr", "nl");
      foreach ($manual_langs as $lang) {
	   if (strpos($user_lang, $lang) === 0) {
	       return $lang;
--- 101,107 ----
   */
  function _get_manual_language() {
      $user_lang = current_language();
!     $manual_langs = array("de", "en", "fr", "nl","ja");
      foreach ($manual_langs as $lang) {
	   if (strpos($user_lang, $lang) === 0) {
	       return $lang;

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-04-19 (金) 13:29:10