public String getName(UserSubject subject) { return subject.getLogin(); } }
protected TypedQuery<Client> getClientsQuery(UserSubject resourceOwnerSubject, EntityManager entityManager) { if (resourceOwnerSubject == null) { return entityManager.createQuery(CLIENT_QUERY, Client.class); } return entityManager.createQuery(CLIENT_QUERY + " WHERE ros.login = :login", Client.class). setParameter("login", resourceOwnerSubject.getLogin()); }
protected TypedQuery<Client> getClientsQuery(UserSubject resourceOwnerSubject, EntityManager entityManager) { if (resourceOwnerSubject == null) { return entityManager.createQuery(CLIENT_QUERY, Client.class); } return entityManager.createQuery(CLIENT_QUERY + " WHERE ros.login = :login", Client.class). setParameter("login", resourceOwnerSubject.getLogin()); }
protected static boolean isClientMatched(Client c, UserSubject resourceOwner) { return resourceOwner == null || c.getResourceOwnerSubject() != null && c.getResourceOwnerSubject().getLogin().equals(resourceOwner.getLogin()); } protected static boolean isTokenMatched(ServerAccessToken token, Client c, UserSubject sub) {
protected static boolean isClientMatched(Client c, UserSubject resourceOwner) { return resourceOwner == null || c.getResourceOwnerSubject() != null && c.getResourceOwnerSubject().getLogin().equals(resourceOwner.getLogin()); } protected static boolean isTokenMatched(ServerAccessToken token, Client c, UserSubject sub) {
protected static boolean isTokenMatched(ServerAccessToken token, Client c, UserSubject sub) { if (token != null && (c == null || token.getClient().getClientId().equals(c.getClientId()))) { UserSubject tokenSub = token.getSubject(); if (sub == null || tokenSub != null && tokenSub.getLogin().equals(sub.getLogin())) { return true; } } return false; } public void setClients(List<Client> clients) {
public static boolean isCodeMatched(ServerAuthorizationCodeGrant grant, Client c, UserSubject sub) { if (grant != null && (c == null || grant.getClient().getClientId().equals(c.getClientId()))) { UserSubject grantSub = grant.getSubject(); return sub == null || grantSub != null && grantSub.getLogin().equals(sub.getLogin()); } return false; } }
protected static boolean isTokenMatched(ServerAccessToken token, Client c, UserSubject sub) { if (token != null && (c == null || token.getClient().getClientId().equals(c.getClientId()))) { UserSubject tokenSub = token.getSubject(); if (sub == null || tokenSub != null && tokenSub.getLogin().equals(sub.getLogin())) { return true; } } return false; } public void setClients(List<Client> clients) {
public static boolean isCodeMatched(ServerAuthorizationCodeGrant grant, Client c, UserSubject sub) { if (grant != null && (c == null || grant.getClient().getClientId().equals(c.getClientId()))) { UserSubject grantSub = grant.getSubject(); return sub == null || grantSub != null && grantSub.getLogin().equals(sub.getLogin()); } return false; } }
/** * @param mc the {@link MessageContext} * @return the name of the UserSubject of the logged in user or resource owner * @throws WebApplicationException with Status 401 if not authenticated */ public static String resolveUserName(final MessageContext mc) { final OAuthContext oauth = getContext(mc); return oauth.getSubject().getLogin(); }
/** * @param mc the {@link MessageContext} * @return the name of the UserSubject of the logged in user or resource owner * @throws WebApplicationException with Status 401 if not authenticated */ public static String resolveUserName(final MessageContext mc) { final OAuthContext oauth = getContext(mc); return oauth.getSubject().getLogin(); }
private OAuthContext getOAuthContext() { OAuthContext oauth = mc.getContent(OAuthContext.class); if (oauth == null || oauth.getSubject() == null || oauth.getSubject().getLogin() == null) { throw new WebApplicationException(403); } return oauth; }
@GET public Calendar getUserCalendar() { OAuthContext oauth = getOAuthContext(); String userName = oauth.getSubject().getLogin(); UserAccount account = accounts.getAccount(userName); if (account == null) { account = accounts.getAccountWithAlias(userName); } return account.getCalendar(); }
public UserSubject(UserSubject sub) { this(sub.getLogin(), sub.getId(), sub.getRoles()); this.properties = sub.getProperties(); this.am = sub.getAuthenticationMethod(); }
public UserSubject(UserSubject sub) { this(sub.getLogin(), sub.getId(), sub.getRoles()); this.properties = sub.getProperties(); this.am = sub.getAuthenticationMethod(); }
/** * @param mc the {@link MessageContext} * @return the {@link OAuthContext} of the given {@link MessageContext} * @throws WebApplicationException with Status 401 if not authenticated */ public static OAuthContext getContext(final MessageContext mc) { final OAuthContext oauth = mc.getContent(OAuthContext.class); if ((oauth == null) || (oauth.getSubject() == null) || (oauth.getSubject().getLogin() == null)) { throw ExceptionUtils.toNotAuthorizedException(null, null); } return oauth; }
/** * @param mc the {@link MessageContext} * @return the {@link OAuthContext} of the given {@link MessageContext} * @throws WebApplicationException with Status 401 if not authenticated */ public static OAuthContext getContext(final MessageContext mc) { final OAuthContext oauth = mc.getContent(OAuthContext.class); if ((oauth == null) || (oauth.getSubject() == null) || (oauth.getSubject().getLogin() == null)) { throw ExceptionUtils.toNotAuthorizedException(null, null); } return oauth; }
@Override protected UserSubject getGrantSubject(Message message, SamlAssertionWrapper wrapper) { UserSubject userSubject = super.getGrantSubject(message, wrapper); return new UserSubject(userSubject.getLogin(), userSubject.getRoles()); }
@Override public IdToken getIdToken(String clientId, UserSubject authenticatedUser, List<String> scopes) { IdToken token = new IdToken(); Instant now = Instant.now(); token.setIssuedAt(now.getEpochSecond()); token.setExpiryTime(now.plusSeconds(60L).getEpochSecond()); token.setAudience(clientId); token.setSubject(authenticatedUser.getLogin()); token.setIssuer("OIDC IdP"); return token; }
@Override public UserInfo getUserInfo(String clientId, UserSubject authenticatedUser, List<String> scopes) { UserInfo userInfo = new UserInfo(); userInfo.setSubject(authenticatedUser.getLogin()); userInfo.setAudience(clientId); userInfo.setIssuer("xyz"); return userInfo; } }