get userinfo from provider's UserInfo Endpoint if configured and active.
If successful, update properties in the ProviderAuthenticationResult

@return true if PAR was updated with userInfo
179829
public boolean getUserInfo(ProviderAuthenticationResult oidcResult,
            SSLSocketFactory sslSocketFactory, String accessToken, String subjectFromIdToken) {

        if (!willRetrieveUserInfo() || accessToken == null) {
            return false;
        }
        String userInfoStr = getUserInfoFromURL(clientConfig, sslSocketFactory, accessToken);

        if (userInfoStr == null) {
            return false;
        }

        if (!isUserInfoValid(userInfoStr, subjectFromIdToken)) {
            return false;
        }

        updateAuthenticationResultPropertiesWithUserInfo(oidcResult, userInfoStr);
        return true;
    }
1115480
protected boolean getUseRandomParamFlag(JawrConfig config) {

		boolean useRandomParamFlag = config.isDebugUseRandomParam();
		if (useRandomParam != null) {
			useRandomParamFlag = Boolean.parseBoolean(useRandomParam);
		}
		return useRandomParamFlag;
	}
532561
@Override
    protected Principal getPrincipal(String username) {
        Principal principal;

        // force lookup of user info
        if (username.startsWith("*")) {
            principal = readPrincipal(username.substring(1));
            if (principal != null) {
                synchronized (principals) {
                    principals.put(username.substring(1), principal);
                }
            }
        }

        synchronized (principals) {
            principal = (Principal) principals.get(username);
        }
        if (principal == null) {
            principal = readPrincipal(username);
            if (principal != null) {
                synchronized (principals) {
                    principals.put(username, principal);
                }
            }
        }
        return principal;
    }
49490
public static UserInfo getUserInfo(final String userId) {

        if (userId == null) {
            throw new IllegalArgumentException("null userName");
        }

        try {
            Class<?> accessor = Class.forName("com.sap.security.um.service.UserManagementAccessor");
            if (accessor != null) {
                Object users = MethodUtils.invokeExactStaticMethod(accessor, "getUserProvider", null);
                if (users != null) {
                    Object user = MethodUtils.invokeExactMethod(users, "getUser", userId);
                    if (user != null) {
                        // get user name and email
                        return new User(
                                userId,
                                (String) MethodUtils.invokeExactMethod(user, "getAttribute", "firstname"),
                                (String) MethodUtils.invokeExactMethod(user, "getAttribute", "lastname"),
                                (String) MethodUtils.invokeExactMethod(user, "getAttribute", "email"));

                    }
                }
            }
        } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
            log.warn(e.getMessage());
        }
        return new User(userId, "", "", "");
    }
447200
public Principal getUserPrincipal()
    {
        if (_userPrincipal == __NO_USER) return null;

        if (_userPrincipal == __NOT_CHECKED)
        {
            _userPrincipal = __NO_USER;

            // Try a lazy authentication
            HttpContext context = getHttpResponse().getHttpContext();
            if (context != null)
            {
                Authenticator auth = context.getAuthenticator();
                UserRealm realm = context.getRealm();
                if (realm != null && auth != null)
                {
                    try
                    {
                        // TODO - should not need to recalculate this!
                        String pathInContext = getPath().substring(
                                context.getContextPath().length());
                        auth.authenticate(realm, pathInContext, this, null);
                    }
                    catch (Exception e)
                    {
                        LogSupport.ignore(log, e);
                    }
                }
            }

            if (_userPrincipal == __NO_USER) return null;
        }
        return _userPrincipal;
    }
838233
public boolean retrieveValue()
    {
        PropertyOwner pRegistration = this.retrieveUserProperties();
        if (pRegistration != null) if (pRegistration instanceof UserProperties)
            return ((UserProperties)pRegistration).retrieveField(this.getOwner());
        return false;
    }
583415
public synchronized boolean isClientAuthenticationEnabled() {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            Tr.entry(tc, "isClientAuthenticationEnabled");
        boolean auth = false;

        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
            Tr.exit(tc, "isClientAuthenticationEnabled", Boolean.valueOf(auth));
        return auth;
    }
87090
public ApiResponse<PutUsers> putUsersWithHttpInfo() throws ApiException {
        com.squareup.okhttp.Call call = putUsersValidateBeforeCall(null, null);
        Type localVarReturnType = new TypeToken<PutUsers>(){}.getType();
        return apiClient.execute(call, localVarReturnType);
    }
488208
public Observable<Boolean> checkAuthenticatedInBackground() {
    String sessionToken = getSessionToken();
    if (StringUtil.isEmpty(sessionToken)) {
      logger.d("sessionToken is not existed.");
      return Observable.just(false);
    }
    return PaasClient.getStorageClient().checkAuthenticated(sessionToken);
  }
915691
async def user_info(self, loop=None, **kwargs):
        """"""
        if not self.user_info_url:
            raise NotImplementedError(
                'The provider doesnt support user_info method.')

        data = await self.request('GET', self.user_info_url, loop=loop, **kwargs)
        user = User(**dict(self.user_parse(data)))
        return user, data
721808
def get_user_info(self, user_id, **kwargs):
        
        return GetUserInfo(settings=self.settings, **kwargs).call(
            user_id=user_id,
            **kwargs
        )
1328535
public static UserAuthentication checkIfActive(UserAuthentication userAuth, User user, boolean throwException) {
		if (userAuth == null || user == null || user.getIdentifier() == null) {
			if (throwException) {
				throw new BadCredentialsException("Bad credentials.");
			} else {
				logger.debug("Bad credentials. {}", userAuth);
				return null;
			}
		} else if (!user.getActive()) {
			if (throwException) {
				throw new LockedException("Account " + user.getId() + " (" + user.getAppid() + "/" +
						user.getIdentifier() + ") is locked.");
			} else {
				logger.warn("Account {} ({}/{}) is locked.", user.getId(), user.getAppid(), user.getIdentifier());
				return null;
			}
		}
		return userAuth;
	}
751909
private IAuthorizationPrincipal getAuthorizationPrincipal(Authentication authentication) {

        final Object authPrincipal = authentication.getPrincipal();
        logger.trace("getAuthorizationPrincipal -- authPrincipal=[{}]", authPrincipal);

        String username;
        if (authPrincipal instanceof UserDetails) {
            // User is authenticated
            UserDetails userDetails = (UserDetails) authPrincipal;
            logger.trace(
                    "getAuthorizationPrincipal -- AUTHENTICATED, userDetails=[{}]", userDetails);
            username = userDetails.getUsername();
        } else {
            // Which guest user are we?
            final HttpServletRequest req = portalRequestUtils.getCurrentPortalRequest();
            final IPerson person = personManager.getPerson(req);
            logger.trace("getAuthorizationPrincipal -- UNAUTHENTICATED, person=[{}]", person);
            username = person.getUserName();
        }

        return authorizationServiceFacade.newPrincipal(username, IPerson.class);
    }
265380
public static AuthorInformation getAuthorInformation(final DataProviderFactory providerFactory,
            final ServerEntitiesWrapper serverEntities, final Integer authorId, final Integer revision) {
        final AuthorInformation authInfo = new AuthorInformation();
        authInfo.setAuthorId(authorId);
        TagWrapper tag = null;
        try {
            tag = providerFactory.getProvider(TagProvider.class).getTag(authorId);
        } catch (NotFoundException e) {
            tag = providerFactory.getProvider(TagProvider.class).getTag(authorId, revision);
        }
        if (tag != null && tag.getProperty(serverEntities.getFirstNamePropertyTagId()) != null && tag.getProperty(
                serverEntities.getSurnamePropertyTagId()) != null) {
            authInfo.setFirstName(tag.getProperty(serverEntities.getFirstNamePropertyTagId()).getValue());
            authInfo.setLastName(tag.getProperty(serverEntities.getSurnamePropertyTagId()).getValue());
            if (tag.getProperty(serverEntities.getEmailPropertyTagId()) != null) {
                authInfo.setEmail(tag.getProperty(serverEntities.getEmailPropertyTagId()).getValue());
            }
            if (tag.getProperty(serverEntities.getOrganizationPropertyTagId()) != null) {
                authInfo.setOrganization(tag.getProperty(serverEntities.getOrganizationPropertyTagId()).getValue());
            }
            if (tag.getProperty(serverEntities.getOrganizationDivisionPropertyTagId()) != null) {
                authInfo.setOrgDivision(tag.getProperty(serverEntities.getOrganizationDivisionPropertyTagId()).getValue());
            }
            return authInfo;
        }
        return null;
    }
1282118
@Override
    public Map<String, String> getUserInfo(PortletRequest request, PortletWindow portletWindow)
            throws PortletContainerException {

        Map<String, String> userInfo = new HashMap<String, String>();

        // check to see if a CAS proxy ticket is expected by this portlet
        if (isCasProxyTicketRequested(request, portletWindow)) {

            // if it is, attempt to request a proxy ticket
            String proxyTicket = getProxyTicket(request);
            if (proxyTicket != null) userInfo.put(this.proxyTicketKey, proxyTicket);
        }
        return userInfo;
    }
96658
public BoxAuthenticationInfo getAuthInfo(String userId, Context context) {
        return userId == null ? null : getAuthInfoMap(context).get(userId);
    }
173176
public static synchronized boolean updateAdvertisingIdClientInfo(Context context) {
		ApptentiveLog.v(ADVERTISER_ID, "Updating advertiser ID client info...");
		AdvertisingIdClientInfo clientInfo = resolveAdvertisingIdClientInfo(context);
		if (clientInfo != null && clientInfo.equals(cachedClientInfo)) {
			return false; // no changes
		}

		ApptentiveLog.v(ADVERTISER_ID, "Advertiser ID client info changed: %s", clientInfo);
		cachedClientInfo = clientInfo;
		notifyClientInfoChanged(cachedClientInfo);
		return true;
	}