/* default */ CredentialProvider providerFrom(final CredentialFlowState flowState) { final String connectorId = flowState.getConnectorId(); return providerFor(connectorId); }
@Value.Default default String getConnectorId() { return getProviderId(); }
default String persistenceKey() { return statePrefix() + getKey(); }
String redirectUrlValue = instance.getRedirectUrl(); if (redirectUrlValue != null) { redirectUrl(redirectUrlValue); URI returnUrlValue = instance.getReturnUrl(); if (returnUrlValue != null) { returnUrl(returnUrlValue); connectorId(instance.getConnectorId()); String providerIdValue = instance.getProviderId(); if (providerIdValue != null) { providerId(providerIdValue); String keyValue = instance.getKey(); if (keyValue != null) { key(keyValue);
final String providerId = newestState.getProviderId(); final URI returnUrl = newestState.getReturnUrl(); .map(s -> s.updateFrom(request)); final URI successfullReturnUrl = addFragmentTo(flowState.getReturnUrl(), success(flowState.getConnectorId(), "Successfully authorized Syndesis's access")); .cookie(state.persist(flowState.persistenceKey(), "/", flowState)).build();
public AcquisitionFlow acquire(final String providerId, final URI baseUrl, final URI returnUrl) { final CredentialProvider credentialProvider = providerFor(providerId); final CredentialFlowState flowState = credentialProvider.prepare(providerId, baseUrl, returnUrl); return new AcquisitionFlow.Builder().type(flowState.type()).redirectUrl(flowState.getRedirectUrl()).state(flowState).build(); }
@POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response create(@NotNull @Valid final AcquisitionRequest request, @Context final HttpServletRequest httpRequest) { final AcquisitionFlow acquisitionFlow = credentials.acquire(connectorId, apiBase(httpRequest), absoluteTo(httpRequest, request.getReturnUrl())); final CredentialFlowState flowState = acquisitionFlow.state().get(); final NewCookie cookie = state.persist(flowState.persistenceKey(), "/", flowState); final AcquisitionResponse acquisitionResponse = AcquisitionResponse.Builder.from(acquisitionFlow) .state(State.Builder.cookie(cookie.toString())).build(); return Response.accepted().entity(acquisitionResponse).build(); }
String redirectUrlValue = instance.getRedirectUrl(); if (redirectUrlValue != null) { redirectUrl(redirectUrlValue); URI returnUrlValue = instance.getReturnUrl(); if (returnUrlValue != null) { returnUrl(returnUrlValue); connectorId(instance.getConnectorId()); String providerIdValue = instance.getProviderId(); if (providerIdValue != null) { providerId(providerIdValue); String keyValue = instance.getKey(); if (keyValue != null) { key(keyValue);
@Override public Connection create(@Context SecurityContext sec, @ConvertGroup(from = Default.class, to = AllValidations.class) final Connection connection) { final Date rightNow = new Date(); // Lets make sure we store encrypt secrets. Map<String, String> configuredProperties =connection.getConfiguredProperties(); if( connection.getConnectorId().isPresent() ) { Map<String, ConfigurationProperty> connectorProperties = getConnectorProperties(connection.getConnectorId().get()); configuredProperties = encryptionComponent.encryptPropertyValues(configuredProperties, connectorProperties); } final Connection updatedConnection = new Connection.Builder() .createFrom(connection) .createdDate(rightNow) .lastUpdated(rightNow) .configuredProperties(configuredProperties) .userId(sec.getUserPrincipal().getName()) .build(); final Set<CredentialFlowState> flowStates = CredentialFlowState.Builder.restoreFrom(state::restoreFrom, request); final Connection connectionToCreate = flowStates.stream().map(s -> { final Cookie removal = new Cookie(s.persistenceKey(), ""); removal.setPath("/"); removal.setMaxAge(0); response.addCookie(removal); return credentials.apply(updatedConnection, s); }).findFirst().orElse(updatedConnection); return Creator.super.create(sec, connectionToCreate); }