LoginSignup
2
1

More than 3 years have passed since last update.

OpenAMログイン画面のUIを変更する

Posted at

はじめに

OpenAMのログイン画面を変更する方法。

OpenAM CommunityEditionをデプロイし、初期設定を終えた画面は以下。

image.png

今回は、以下のように画面を変更する。

image.png

変更するポイントは

  • タイトルの設定
  • テーマの設定
  • ログイン画面で実行するスクリプト
  • ロゴ下のメッセージの修正
  • フッターの修正

image.png

OpenAM UIの修正

タイトルの設定

※ファイルパスはTomcatへデプロイ後のファイルパス

titleタグの値を修正

XUI/index.html
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Cattle</title>
    </head>

テーマの設定

テーマは XUI/config/ThemeConfiguration.js に設定でき、以下では

  • スタイルシート
  • アイコンイメージ
  • ロゴイメージ

の設定をしています。

また設定したテーマをどの realm で適用させるかも指定します。

XUI/config/ThemeConfiguration.js
        "cattle-theme": {
            stylesheets: ["themes/dark/css/bootstrap.min.css", "css/structure.css", "themes/dark/css/theme-dark.css"],
            icon: "images/cattle.png",
            settings: {
                loginLogo: {
                    src: "images/cattle.png",
                    title: "Cattle",
                    alt: "Cattle",
                    height: "256px",
                    width: "256px"
                }
            }
        },
...
    mappings: [
        { theme: "cattle-theme", realms: ["/"] }
    ]

※ロゴイメージは XUI/images/cattle.png に配置しています。

ログイン画面で実行するスクリプト

XUI/templates/common/LoginHeaderTemplate.html はログインヘッダーのテンプレートになります。

スクリプトタグを最終行に追加することで、追記したスクリプトが適用されます。

以下は、

  • ドキュメントタイトルの設定(機能単位に設定したい場合)
  • ロゴをクリックした際の画面遷移

を出来るようなスクリプトを記述しています。

XUI/templates/common/LoginHeaderTemplate.html
<script language="javascript" type="text/javascript">
   document.title = "CATTLE";
   $(".main-logo").click(function() {
     location.href = "https://qiita.com/";
   });
</script>

ロゴ下のメッセージの修正

XUI/templates/openam/authn/DataStore1.html
    {{#if reqs.header}}
        <div class="page-header">
            <h1 class="text-center">Cattleへのサインイン</h1>
        </div>
    {{/if}}

フッターの修正

XUI/templates/common/FooterTemplate.html
<div class="container">
    <p>
        CATTLE
    </p>
</div>

最後に

今回は、必要最小限の要件(ログイン画面を既存サービスに合わせたい)にのみ対応したので、ちょっと無理やりコードに手を入れて修正しました。(マネできるようなコードではないです。。。)

このような要件は意外にあるのではないかな?と思ったので。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1