diff --git a/docs/casa/index.md b/docs/casa/index.md index 5a85b2d4d9b..cdf67a66451 100644 --- a/docs/casa/index.md +++ b/docs/casa/index.md @@ -50,7 +50,7 @@ Besides a comprehensive graphical [admin console](./administration/admin-console Casa is a plugin-oriented, Java web application. Existing functionality can be extended and new functionality and APIs can be introduced through plugins. Currently, there are plugins available for the following: -- [Accounts linking](./plugins/accts-linking/index.md) +- [Accounts linking](./plugins/accts-linking/account-linking-index.md) - [Consent management](./plugins/consent-management.md) - [Custom branding](./plugins/custom-branding.md) - [2FA settings](./plugins/2fa-settings.md) diff --git a/jans-casa/plugins/acct-linking/extras/agama/lib/io/jans/casa/acctlinking/UidUtils.java b/jans-casa/plugins/acct-linking/extras/agama/lib/io/jans/casa/acctlinking/UidUtils.java index a71d993bb22..80d6ec840aa 100644 --- a/jans-casa/plugins/acct-linking/extras/agama/lib/io/jans/casa/acctlinking/UidUtils.java +++ b/jans-casa/plugins/acct-linking/extras/agama/lib/io/jans/casa/acctlinking/UidUtils.java @@ -17,22 +17,24 @@ public class UidUtils { public static String lookupUid(String uidRef, String uid, String extUid, String jansExtAttrName, String jansExtUid) throws IOException { - - if (uidRef == null) { - boolean uidPassed = uid != null; - - if (uidPassed) { - logger.debug("Using uid passed: {}", uid); - return uid; - } - + + if (uidRef == null) { //Find if the external account is already linked to a local one User user = CdiUtil.bean(UserService.class).getUserByAttribute(jansExtAttrName, jansExtUid, true); + if (user == null) { + boolean uidPassed = uid != null; + + if (uidPassed) { + logger.debug("Using uid passed: {}", uid); + return uid; + } + logger.info("Building a uid based on external id {}", extUid); return extUid + "-" + randSuffix(3); } - logger.info("Using uid of the account already linked to {}", extUid); + + logger.info("Using uid of the account already linked to {}", jansExtUid); return user.getUserId(); }