This is an automated email from the ASF dual-hosted git repository.

angela pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


The following commit(s) were added to refs/heads/trunk by this push:
     new f3296ec88d OAK-10772 : Broken links in authentication documentation
f3296ec88d is described below

commit f3296ec88d45467006e34a5ea37e3ccde0db7faf
Author: angela <[email protected]>
AuthorDate: Fri Apr 19 13:29:39 2024 +0200

    OAK-10772 : Broken links in authentication documentation
---
 .../markdown/security/authentication/default.md    | 68 ++++++++--------------
 .../security/authentication/tokenmanagement.md     |  8 ++-
 2 files changed, 30 insertions(+), 46 deletions(-)

diff --git a/oak-doc/src/site/markdown/security/authentication/default.md 
b/oak-doc/src/site/markdown/security/authentication/default.md
index 44535fd05f..ef49e5432c 100644
--- a/oak-doc/src/site/markdown/security/authentication/default.md
+++ b/oak-doc/src/site/markdown/security/authentication/default.md
@@ -42,22 +42,14 @@ dedicated `LoginModule` implementation(s) for each scenario:
 <a name="guest"></a>
 #### Guest Login
 
-The proper way to obtain an guest session as of Oak is as specified by JSR 283:
+The proper way to obtain a guest session is specified by JSR 283:
 
-    String wspName = null;
+    String wspName = null; // or any other workspace name if not login to the 
default workspace
     Session anonymous = repository.login(new GuestCredentials(), wspName);
 
-As of Oak 1.0 `Repository#login()` and `Repository#login(null, wspName)` is no
-longer treated as guest login. This behavior of Jackrabbit-core is violating 
the
-specification, which defines that null-login should be used for those cases 
where
-the authentication process is handled outside of the repository (see 
[Pre-Authentication](preauthentication.html)).
+As of Oak 1.0 `Repository#login()` and `Repository#login(null, wspName)` is no 
longer treated as guest login. This behavior of Jackrabbit-core is violating 
the specification, which defines that null-login should be used for those cases 
where the authentication process is handled outside the repository (see 
[Pre-Authentication](preauthentication.html)).
 
-Similarly, any special treatment that Jackrabbit core applied for the guest 
(anonymous)
-user has been omitted altogether from the default [LoginModuleImpl]. In the 
default
-setup the built-in anonymous user will be created without any password. 
Therefore
-explicitly uid/pw login using the anonymous userId will no longer work. This 
behavior
-is now consistent with the default login of any other user which doesn't have a
-password set.
+Similarly, any special treatment that Jackrabbit core applied for the guest 
(anonymous) user has been omitted altogether from the default 
[LoginModuleImpl]. By default, the built-in anonymous user will be created 
without any password. Therefore, explicitly uid/pw login using the anonymous 
userId will no longer work. This behavior is now consistent with the default 
login of any other user which doesn't have a password set.
 
 ##### GuestLoginModule
 
@@ -132,7 +124,7 @@ This login module implementations behaves as follows:
 The `LoginModuleImpl` uses a configured `Authentication`-implementation for 
 performing the login step. Which implementation to use is determined by the 
 [UserAuthenticationFactory] obtained by the given `UserConfiguration`. It is
-expected to provides an `Authentication` implementation if the given 
+expected to provide an `Authentication` implementation if the given 
 `UserConfiguration` is accepted.
 
 In case multiple implementations of the `UserAuthenticationFactory` are 
available, 
@@ -145,11 +137,7 @@ See also section [user 
management](../user/default.html#pluggability).
 <a name="impersonation"></a>
 #### Impersonation Login
 
-Another flavor of the Oak authentication implementation is covered by
-`javax.jcr.Session#impersonate(Credentials)`, which allows to obtain an new
-`Session` for a user identified by the specified credentials. As of JSR 333
-this method can also be used in order to clone the existing session (i.e.
-self-impersonation of the user that holds the session.
+Another flavor of the Oak authentication implementation is covered by 
`javax.jcr.Session#impersonate(Credentials)`, which allows to obtain a new 
`Session` for a user identified by the specified credentials. As of JSR 333 
this method can also be used in order to clone the existing session (i.e. 
self-impersonation of the user that holds the session).
 
 With Oak 1.0 impersonation is implemented as follows:
 
@@ -195,30 +183,22 @@ Applications that wish to use a custom authentication 
setup need to ensure the
 following steps in order to get JCR impersonation working:
 
 - Respect `ImpersonationCredentials` in the authentication setup.
-- Identify the impersonated from `ImpersonationCredentials.getBaseCredentials`
-  and verify if it can be authenticated.
-- Validate that the editing session is allowed to impersonate: The user 
associated
-  with the editing session can be identified by the [AuthInfo] obtained from
-  from `ImpersonationCredentials.getImpersonatorInfo()`.
+- Identify the impersonated from 
`ImpersonationCredentials.getBaseCredentials`and verify if it can be 
authenticated.
+- Validate that the editing session is allowed to impersonate: The user 
associated with the editing session can be identified by the [AuthInfo] 
obtained from `ImpersonationCredentials.getImpersonatorInfo()`.
 
 <a name="token"></a>
 #### Token Login
 
-See section [Token Authentication](tokenmanagement.html) for details
-regarding token based authentication.
+See section [Token Authentication](tokenmanagement.html) for details regarding 
token based authentication.
 
 ##### TokenLoginModule
 
-The `TokenLoginModule` is in charge of creating new login tokens and validate
-repository logins with `TokenCredentials`. The exact behavior of this login 
module is
-described in section [Token Authentication](tokenmanagement.html).
+The `TokenLoginModule` is in charge of creating new login tokens and validate 
repository logins with `TokenCredentials`. The exact behavior of this login 
module is described in section [Token Authentication](tokenmanagement.html).
 
 <a name="pre_authenticated"></a>
 #### Pre-Authenticated Login
 
-Oak provides two different mechanisms to create pre-authentication that doesn't
-involve the repositories internal authentication mechanism for credentials
-validation.
+Oak provides two different mechanisms to create pre-authentication that 
doesn't involve the repositories internal authentication mechanism for 
credentials validation.
 
 - Pre-Authentication combined with Login Module Chain
 - Pre-Authentication without Repository Involvement (aka `null` login)
@@ -235,16 +215,10 @@ systems (e.g. LDAP). For those setups that wish to 
combine initial authenticatio
 against a third party system with repository functionality, Oak provides a 
default
 implementation with extension points:
 
-- [External Authentication](externalloginmodule.html): Summary of
-  the external authentication and details about the `ExternalLoginModule`.
-- [User and Group Synchronization](usersync.html): Details regarding
-  user and group synchronization as well as a list of configuration options 
provided
-  by the the default implementations present with Oak.
-- [Identity Management](identitymanagement.html): Further information 
regarding extenal identity management.
-- [LDAP Integration](ldap.html): How to make use of the `ExternalLoginModule`
-  with the LDAP identity provider implementation. This combination is aimed to 
replace
-  `com.day.crx.security.ldap.LDAPLoginModule`, which relies on Jackrabbit 
internals
-  and will no longer work with Oak.
+- [External Authentication](externalloginmodule.html): Summary of the external 
authentication and details about the `ExternalLoginModule`.
+- [User and Group Synchronization](usersync.html): Details regarding user and 
group synchronization as well as a list of configuration options available with 
the default implementations present with Oak.
+- [Identity Management](identitymanagement.html): Further information 
regarding external identity management.
+- [LDAP Integration](ldap.html): How to make use of the `ExternalLoginModule` 
with the LDAP identity provider implementation. This combination is aimed to 
replace `com.day.crx.security.ldap.LDAPLoginModule`, which relies on Jackrabbit 
internals and will no longer work with Oak.
 
 ##### ExternalLoginModule
 
@@ -254,9 +228,7 @@ general mode of the external login module is to use the 
external system as authe
 source and as a provider for users and groups that may also be synchronized 
into
 the repository.
 
-This login module implementation requires an valid `SyncHandler` and 
`IdentityProvider`
-to be present. The detailed behavior of the `ExternalLoginModule` is described 
in
-section [External Authentication](externalloginmodule.html).
+This login module implementation requires a valid [SyncHandler] and 
[IdentityProvider] to be present. The detailed behavior of the 
`ExternalLoginModule` is described in section [External 
Authentication](externalloginmodule.html).
 
 <!-- hidden references -->
 [GuestCredentials]: 
https://s.apache.org/jcr-2.0-javadoc/javax/jcr/GuestCredentials.html
@@ -266,4 +238,10 @@ section [External 
Authentication](externalloginmodule.html).
 [GuestLoginModule]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/GuestLoginModule.html
 [LoginModuleImpl]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/security/authentication/user/LoginModuleImpl.html
 [AbstractLoginModule]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/AbstractLoginModule.html
-[UserAuthenticationFactory]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/user/UserAuthenticationFactory.html
\ No newline at end of file
+[UserAuthenticationFactory]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/user/UserAuthenticationFactory.html
+[CallbackHandler]: 
/oak/docs/apidocs/javax/security/auth/callback/CallbackHandler.html
+[CredentialsCallback]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/callback/CredentialsCallback.html
+[ExternalLoginModule]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/security/authentication/external/ExternalLoginModule.html
+[UserConfiguration]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/user/UserConfiguration.html
+[SyncHandler]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/external/SyncHandler.html
+[IdentityProvider]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/external/IdentityProvider.html
\ No newline at end of file
diff --git 
a/oak-doc/src/site/markdown/security/authentication/tokenmanagement.md 
b/oak-doc/src/site/markdown/security/authentication/tokenmanagement.md
index 1662542c17..5c911e4c30 100644
--- a/oak-doc/src/site/markdown/security/authentication/tokenmanagement.md
+++ b/oak-doc/src/site/markdown/security/authentication/tokenmanagement.md
@@ -62,10 +62,12 @@ authentication phases behave as follows:
   
 ##### Example JAAS Configuration
 
+  ```
   jackrabbit.oak {
        
org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule 
sufficient;
        org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl 
required;
    };
+  ```
 
 
 <a name="api_extensions"></a>
@@ -113,6 +115,7 @@ token provider implementation:
  - implement `TokenProvider` interface
  - expose the custom provider by your custom `TokenConfiguration` service
  - make the configuration available to the Oak repository.
+ - make sure the `TokenConfiguration` is listed as required service with the 
SecurityProvider (see also [Introduction](../introduction.html#configuration]))
 
 ##### Examples
 
@@ -159,4 +162,7 @@ token provider implementation:
 [TokenProvider]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/token/TokenProvider.html
 [TokenInfo]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/token/TokenInfo.html
 [CompositeTokenConfiguration]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/token/CompositeTokenConfiguration.html
-[CompositeTokenProvider]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/token/CompositeTokenProvider.html
\ No newline at end of file
+[CompositeTokenProvider]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/token/CompositeTokenProvider.html
+[CredentialsCallback]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/security/authentication/callback/CredentialsCallback.html
+[CallbackHandler]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/security/authentication/callback/CallbackHandler.html
+[TokenConfiguration]: 
/oak/docs/apidocs/org/apache/jackrabbit/oak/spi/security/authentication/token/TokenConfiguration.html
\ No newline at end of file

Reply via email to