You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/09/10 15:48:36 UTC

svn commit: r1623999 - in /sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core: AuthConstants.java AuthUtil.java package-info.java

Author: cziegeler
Date: Wed Sep 10 13:48:36 2014
New Revision: 1623999

URL: http://svn.apache.org/r1623999
Log:
SLING-3922 : Login Failure Reason Code Not Propagated In AuthUtil#sendInvalid. Apply patch from Dominique Jäggi

Modified:
    sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java
    sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java
    sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java

Modified: sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java?rev=1623999&r1=1623998&r2=1623999&view=diff
==============================================================================
--- sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java (original)
+++ sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthConstants.java Wed Sep 10 13:48:36 2014
@@ -55,6 +55,18 @@ public final class AuthConstants {
     public static final String X_REASON = "X-Reason";
 
     /**
+     * The name of the request header set by the
+     * {@link #sendInvalid(HttpServletRequest, HttpServletResponse)} method if the provided
+     * credentials cannot be used for login.
+     * <p>
+     * This header may be inspected by clients for a a detailed reason code why the request
+     * failed.
+     *
+     * @see #sendInvalid(HttpServletRequest, HttpServletResponse)
+     */
+    public static final String X_REASON_CODE = "X-Reason-Code";
+
+    /**
      * Service Registration property which may be set by an
      * {@link org.apache.sling.auth.core.spi.AuthenticationHandler} service to
      * indicate whether its

Modified: sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java?rev=1623999&r1=1623998&r2=1623999&view=diff
==============================================================================
--- sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java (original)
+++ sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/AuthUtil.java Wed Sep 10 13:48:36 2014
@@ -370,8 +370,12 @@ public final class AuthUtil {
             response.setStatus(HttpServletResponse.SC_FORBIDDEN);
 
             Object reason = request.getAttribute(AuthenticationHandler.FAILURE_REASON);
+            Object reasonCode = request.getAttribute(AuthenticationHandler.FAILURE_REASON_CODE);
             if (reason != null) {
                 response.setHeader(AuthConstants.X_REASON, reason.toString());
+                if ( reasonCode != null ) {
+                    response.setHeader(AuthConstants.X_REASON_CODE, reasonCode.toString());
+                }
                 response.setContentType("text/plain");
                 response.setCharacterEncoding("UTF-8");
                 response.getWriter().println(reason);

Modified: sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java?rev=1623999&r1=1623998&r2=1623999&view=diff
==============================================================================
--- sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java (original)
+++ sling/trunk/bundles/auth/core/src/main/java/org/apache/sling/auth/core/package-info.java Wed Sep 10 13:48:36 2014
@@ -22,9 +22,9 @@
  * of utility functions in the {@link org.apache.sling.auth.core.AuthUtil}
  * class.
  *
- * @version 1.1
+ * @version 1.2
  */
-@Version("1.1")
+@Version("1.2")
 @Export(optional = "provide:=true")
 package org.apache.sling.auth.core;