keycloak-uncached

Minor improvements to email config in admin console. Added

1/20/2014 8:31:47 AM

Details

diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-credentials.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-credentials.html
index d027574..a02eb1a 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-credentials.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-credentials.html
@@ -11,7 +11,7 @@
                     <li class="active"><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-default-roles.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-default-roles.html
index e2a5314..6644ef2 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-default-roles.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-default-roles.html
@@ -11,7 +11,7 @@
                     <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html
index 726d56f..c71a4a6 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-detail.html
@@ -11,7 +11,7 @@
                     <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-keys.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-keys.html
index a05f12b..b00c969 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-keys.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-keys.html
@@ -11,7 +11,7 @@
                     <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li class="active"><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-smtp.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-smtp.html
index 1f685f9..2a2d313 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-smtp.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-smtp.html
@@ -11,7 +11,7 @@
                     <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li class="active"><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li class="active"><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
@@ -20,7 +20,7 @@
                     <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
                     <li class="active">SMTP Configuration</li>
                 </ol>
-                <h2 class="pull-left"><span>{{realm.realm}}</span> SMTP Settings</h2>
+                <h2 class="pull-left"><span>{{realm.realm}}</span> Email Server Settings</h2>
                 <p class="subtitle"><span class="required">*</span> Required fields</p>
                 <form name="realmForm" novalidate>
                     <fieldset>
@@ -40,7 +40,7 @@
                         <div class="form-group clearfix">
                             <label for="smtpFrom" class="control-label">From <span class="required">*</span></label>
                             <div class="controls">
-                                <input id="smtpFrom" type="email" ng-model="realm.smtpServer.from" placeholder="SMTP From" required>
+                                <input id="smtpFrom" type="email" ng-model="realm.smtpServer.from" placeholder="Sender Email Address" required>
                             </div>
                         </div>
                         <div class="form-group clearfix">
@@ -53,18 +53,18 @@
                         </div>
                     </fieldset>
                     <fieldset>
-                        <legend collapsed><span class="text">Authentication</span></legend>
+                        <legend uncollapsed><span class="text">Authentication</span></legend>
                         <div class="form-group clearfix">
-                            <label for="smtpAuth" class="control-label">Enabled</label>
+                            <label for="smtpAuth" class="control-label">Enable Authentication</label>
                             <input ng-model="realm.smtpServer.auth" name="smtpAuth" id="smtpAuth" onoffswitch />
                         </div>
-                        <div class="form-group clearfix">
+                        <div class="form-group clearfix" data-ng-show="realm.smtpServer.auth">
                             <label for="smtpUsername" class="control-label">Username <span class="required" ng-show="realm.smtpServer.auth">*</span></label>
                             <div class="controls">
                                 <input id="smtpUsername" type="text" ng-model="realm.smtpServer.user" placeholder="Login Username" ng-disabled="!realm.smtpServer.auth" ng-required="realm.smtpServer.auth">
                             </div>
                         </div>
-                        <div class="form-group clearfix">
+                        <div class="form-group clearfix" data-ng-show="realm.smtpServer.auth">
                             <label for="smtpPassword" class="control-label">Password <span class="required" ng-show="realm.smtpServer.auth">*</span></label>
                             <div class="controls">
                                 <input id="smtpPassword" type="password" ng-model="realm.smtpServer.password" placeholder="Login Password" ng-disabled="!realm.smtpServer.auth" ng-required="realm.smtpServer.auth">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-social.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-social.html
index b78cfa0..5a75457 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-social.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-social.html
@@ -11,7 +11,7 @@
                     <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
index 0ea6617..802bc45 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/realm-tokens.html
@@ -11,7 +11,7 @@
                     <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li class="active"><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-detail.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-detail.html
index 3e05f34..50cf512 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-detail.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-detail.html
@@ -11,7 +11,7 @@
                     <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
index 213342a..34af283 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/role-list.html
@@ -11,7 +11,7 @@
                     <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
                     <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
                     <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
-                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
+                    <li><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
                 </ul>
             </div>
             <div id="content">
diff --git a/docbook/reference/en/en-US/master.xml b/docbook/reference/en/en-US/master.xml
index dbc06a7..f2c3920 100755
--- a/docbook/reference/en/en-US/master.xml
+++ b/docbook/reference/en/en-US/master.xml
@@ -12,6 +12,7 @@
                 <!ENTITY SocialGoogle SYSTEM "modules/social-google.xml">
                 <!ENTITY SocialTwitter SYSTEM "modules/social-twitter.xml">
                 <!ENTITY SocialProviderSPI SYSTEM "modules/social-spi.xml">
+                <!ENTITY Email SYSTEM "modules/email.xml">
                 ]>
 
 <book>
@@ -72,6 +73,15 @@
         &SocialProviderSPI;
     </chapter>
 
+    <chapter>
+        <title>Email</title>
+        <para>
+            Keycloak sends emails to users to verify their email address. Emails are also used to allow users to
+            safely restore their username and passwords.
+        </para>
+        &Email;
+    </chapter>
+
 </book>
 
 
diff --git a/docbook/reference/en/en-US/modules/email.xml b/docbook/reference/en/en-US/modules/email.xml
new file mode 100644
index 0000000..692952a
--- /dev/null
+++ b/docbook/reference/en/en-US/modules/email.xml
@@ -0,0 +1,40 @@
+<section id="email-config">
+    <title>Email Server Config</title>
+    <para>
+        To enable Keycloak to send emails you need to provide Keycloak with your SMTP server settings. If you don't have
+        a SMTP server you can use one of many hosted solutions (such as Sendgrid or smtp2go).
+    </para>
+
+    <para>
+        To configure your SMTP server, open the <literal>Keycloak Admin Console</literal>, select your realm from the drop-down box in the
+        top-menu, then click on <literal>Email</literal> in the sub-menu.
+    </para>
+
+    <para>
+        You are required to fill in the <literal>Host</literal> and <literal>Port</literal> for your SMTP server (the default port for SMTP is 25). You also have
+        to specify the sender email address (<literal>From</literal>). The other options are optional.
+    </para>
+
+    <para>
+        The screenshot below shows a simple example where the SMTP server doesn't use SSL or TLS and doesn't require authentication.
+    </para>
+
+    <imagedata fileref="images/email-simple-example.png"/>
+
+    <section>
+        <title>Enable SSL or TLS</title>
+        <para>
+            As emails are used for recovering usernames and passwords it's recommended to use SSL or TLS, especially if the SMTP server
+            is on an external network. To enable SSL click on <literal>Enable SSL</literal> or to enable TLS click on <literal>Enable TLS</literal>.
+            You will most likely also need to change the <literal>Port</literal> (the default port for SSL/TLS is 465).
+        </para>
+    </section>
+
+    <section>
+        <title>Authentication</title>
+        <para>
+            If your SMTP server requires authentication click on <literal>Enable Authentication</literal> and insert
+            the <literal>Username</literal> and <literal>Password</literal>.
+        </para>
+    </section>
+</section>
\ No newline at end of file
diff --git a/docbook/reference/en/images/email-simple-example.png b/docbook/reference/en/images/email-simple-example.png
new file mode 100644
index 0000000..9c341e2
Binary files /dev/null and b/docbook/reference/en/images/email-simple-example.png differ