@Inject public ClientsProvider(@Named("auth.callback") final String callback, final Set<Client> clients) { this.clients = new Clients(callback, ImmutableList.copyOf(clients)); }
WebContext ctx = req.require(WebContext.class); List<Client> clientList = clients.findAllClients(); Client client = clientList.size() == 1 ? clientList.get(0) : clients.findClient(ctx); Credentials credentials = client.getCredentials(ctx); log.debug("credentials : {}", credentials); final CommonProfile profile = client.getUserProfile(credentials, ctx); log.debug("profile : {}", profile);
public void handle(final Request req, final Response rsp) throws Throwable { Clients clients = req.require(Clients.class); String clientName = req.param(clients.getClientNameParameter()).value(this.clientName); log.debug("Performing authentication for client: {}", client); try { Credentials credentials = client.getCredentials(ctx); log.debug("credentials: {}", credentials); identity = client.getUserProfile(credentials, ctx); log.debug("profile: {}", identity); if (identity != null) { req.set(Auth.ID, identity.getId()); req.set(Auth.CNAME, client.getName()); store.set(identity); log.debug("requestedUrl: {}", requestedUrl); ctx.setSessionAttribute(Pac4jConstants.REQUESTED_URL, requestedUrl); client.redirect(ctx); rsp.end(); } catch (HttpAction ex) {
new Clients(URI.create(conf.getString("pac4j.callback.url")).normalize().toString(), new ArrayList<>())); pac4j.setHttpActionAdapter(new Pac4jActionAdapter()); List<Client> clientList = new ArrayList<>(clients.getClients()); if (clientList.size() == 0 && this.clients.size() == 0) { .collect(Collectors.toList()); securityRoutes.forEach(it -> clientList.add(it.client)); clients.setClients(clientList); patterns.add(pattern); Pac4jSecurityFilter filter = filters.get(pattern); String clientName = it.client.getName(); if (filter == null) { filter = new Pac4jSecurityFilter(pac4j, clientName, it.authorizer, null, multiProfile,
@RequestMapping("/forceLogin") @ResponseBody public void forceLogin() { final Client client = config.getClients().findClient(webContext.getRequestParameter(Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER)); try { client.redirect(webContext); } catch (final HttpAction e) { } }
@Bean protected Clients clients() { //可以设置默认client Clients clients = new Clients(); //支持的client全部设置进去 clients.setClients(casClient(), casRestFormClient()); return clients; }
protected Client getClient(JaxrsWebContext context) { try { return clients.findClient(context); } catch (TechnicalException e) { logger.debug("Error while getting the client from the context", e); return null; } }
private static <C extends Credentials, U extends UserProfile> Optional<U> userProfileFromCredentials(Client<C, U> client, RatpackWebContext webContext) throws RequiresHttpAction { C credentials = client.getCredentials(webContext); U userProfile = client.getUserProfile(credentials, webContext); return Optional.ofNullable(userProfile); }
public void setClients(final Clients clients) throws TechnicalException { this.clients = clients; clients.init(); }
@Override protected TokenCredentials retrieveCredentials(final WebContext context) { // set the www-authenticate in case of error context.setResponseHeader(HttpConstants.AUTHENTICATE_HEADER, HttpConstants.BEARER_HEADER_PREFIX + "realm=\"" + realmName + "\""); return super.retrieveCredentials(context); }
var Client = Backbone.Model.extend({}); var Clients = Backbone.Collection.extend({ model: Client }); var clients = new Clients();
private static ModelAndView forceLogin(final Config config, final Request request, final Response response) { final SparkWebContext context = new SparkWebContext(request, response); final String clientName = context.getRequestParameter(Pac4jConstants.DEFAULT_CLIENT_NAME_PARAMETER); final Client client = config.getClients().findClient(clientName); HttpAction action; try { action = client.redirect(context); } catch (final HttpAction e) { action = e; } config.getHttpActionAdapter().adapt(action.getCode(), context); return null; } }
protected Client getClient(Session session) { String clientName = session.getAttribute(Clients.DEFAULT_CLIENT_NAME_PARAMETER); if (Strings.isNullOrEmpty(clientName)) { return null; } return clients.findClient(clientName); }
private <C extends Credentials, U extends UserProfile> Promise<U> getProfile(WebContext webContext, Client<C, U> client) throws RequiresHttpAction { return Blocking.get(() -> { C credentials = client.getCredentials(webContext); return client.getUserProfile(credentials, webContext); }); }
public void setClients(final Clients clients) throws TechnicalException { this.clients = clients; clients.init(); }
@Override protected UsernamePasswordCredentials retrieveCredentials(final WebContext context) { // set the www-authenticate in case of error context.setResponseHeader(HttpConstants.AUTHENTICATE_HEADER, "Basic realm=\"" + realmName + "\""); return super.retrieveCredentials(context); }
/** * @param callbackUrl * @param clients */ public SecurityPlugin(String callbackUrl, Client... clients) { this.clients = new Clients(callbackUrl, clients); }
/** Per RFC 2617 * If a server receives a request for an access-protected object, and an * acceptable Authorization header is not sent, the server responds with * a "401 Unauthorized" status code, and a WWW-Authenticate header */ @Override protected DigestCredentials retrieveCredentials(final WebContext context) { // set the www-authenticate in case of error final String nonce = calculateNonce(); context.setResponseHeader(HttpConstants.AUTHENTICATE_HEADER, "Digest realm=\"" + realm + "\", qop=\"auth\", nonce=\"" + nonce + "\""); return super.retrieveCredentials(context); }
/** * @param callbackUrl * @param clients */ public SecurityPlugin(String callbackUrl, AuthenticationListener listener, Client... clients) { this.clients = new Clients(callbackUrl, clients); this.listener = listener; }
private static final Object INSTANCE_LOCK = new Object(); public static Clients getInstance() { synchronized(INSTANCE_LOCK) { if(instance == null) instance = new Clients(); } return instance; }