List of usage examples for org.eclipse.jgit.transport CredentialsProvider isInteractive
public abstract boolean isInteractive();
From source file:org.apache.sshd.git.transport.GitSshdSession.java
License:Apache License
public GitSshdSession(URIish uri, CredentialsProvider credentialsProvider, FS fs, int tms) throws IOException, InterruptedException { String user = uri.getUser();// w w w .jav a2 s . co m final String pass = uri.getPass(); String host = uri.getHost(); int port = uri.getPort(); char[] pass2 = null; if (!credentialsProvider.isInteractive()) { CredentialItem.Username usrItem = new CredentialItem.Username(); CredentialItem.Password pwdItem = new CredentialItem.Password(); if (credentialsProvider.get(uri, usrItem, pwdItem)) { if (user == null) { user = usrItem.getValue(); } else if (user.equals(usrItem.getValue())) { pass2 = pwdItem.getValue(); } } } client = createClient(); client.start(); session = client.connect(user, host, port).verify( PropertyResolverUtils.getLongProperty(client, CONNECT_TIMEOUT_PROP, DEFAULT_CONNECT_TIMEOUT)) .getSession(); if (log.isDebugEnabled()) { log.debug("Connected to {}:{}", host, port); } if (pass != null) { session.addPasswordIdentity(pass); } if (pass2 != null) { session.addPasswordIdentity(new String(pass2)); } session.auth() .verify(PropertyResolverUtils.getLongProperty(session, AUTH_TIMEOUT_PROP, DEFAULT_AUTH_TIMEOUT)); if (log.isDebugEnabled()) { log.debug("Authenticated: {}", session); } }
From source file:org.eclipse.orion.internal.server.filesystem.git.OrionSshSessionFactory.java
License:Open Source License
@Override public synchronized Session getSession(String user, String pass, String host, int port, CredentialsProvider credentialsProvider, FS fs) throws JSchException { if (user == null && credentialsProvider instanceof OrionUserCredentialsProvider) { OrionUserCredentialsProvider oucp = (OrionUserCredentialsProvider) credentialsProvider; CredentialsProvider cp = SshConfigManager.getDefault().getCredentialsProvider(oucp.getOrionUser(), oucp.getUri());/*from www .j a va 2 s.c o m*/ if (cp != null) { CredentialItem.Username u = new CredentialItem.Username(); if (cp.supports(u) && cp.get(oucp.getUri(), u)) { user = u.getValue(); } } } if (port <= 0) port = SSH_PORT; final Session session = createSession(user, host, port, credentialsProvider); if (pass != null) session.setPassword(pass); if (credentialsProvider != null && !credentialsProvider.isInteractive()) { session.setUserInfo(new CredentialsProviderUserInfo(session, credentialsProvider)); } return session; }
From source file:org.eclipse.orion.server.git.GitSshSessionFactory.java
License:Open Source License
@Override public RemoteSession getSession(URIish uri, CredentialsProvider credentialsProvider, FS fs, int tms) throws TransportException { int port = uri.getPort(); String user = uri.getUser();//from www . java2s . c o m String pass = uri.getPass(); if (credentialsProvider instanceof GitCredentialsProvider) { if (port <= 0) port = SSH_PORT; GitCredentialsProvider cp = (GitCredentialsProvider) credentialsProvider; if (user == null) { CredentialItem.Username u = new CredentialItem.Username(); if (cp.supports(u) && cp.get(cp.getUri(), u)) { user = u.getValue(); } } if (pass == null) { CredentialItem.Password p = new CredentialItem.Password(); if (cp.supports(p) && cp.get(cp.getUri(), p)) { pass = new String(p.getValue()); } } try { final SessionHandler session = new SessionHandler(user, uri.getHost(), port, cp.getKnownHosts(), cp.getPrivateKey(), cp.getPublicKey(), cp.getPassphrase()); if (pass != null) session.setPassword(pass); if (credentialsProvider != null && !credentialsProvider.isInteractive()) { session.setUserInfo(new CredentialsProviderUserInfo(session.getSession(), credentialsProvider)); } session.connect(tms); return new JschSession(session.getSession(), uri); } catch (JSchException e) { throw new TransportException(uri, e.getMessage(), e); } } return null; }
From source file:org.springframework.cloud.config.server.environment.JGitEnvironmentRepositoryTests.java
License:Apache License
@Test public void passphraseShouldSetCredentials() throws Exception { final String passphrase = "mypassphrase"; Git mockGit = mock(Git.class); MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit); JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri("git+ssh://git@somegitserver/somegitrepo"); envRepository.setBasedir(new File("./mybasedir")); envRepository.setPassphrase(passphrase); envRepository.setCloneOnStart(true); envRepository.afterPropertiesSet();/*ww w . j ava2s . com*/ assertTrue(mockCloneCommand.hasPassphraseCredentialsProvider()); CredentialsProvider provider = mockCloneCommand.getCredentialsProvider(); assertFalse(provider.isInteractive()); CredentialItem.StringType stringCredential = new CredentialItem.StringType( PassphraseCredentialsProvider.PROMPT, true); assertTrue(provider.supports(stringCredential)); provider.get(new URIish(), stringCredential); assertEquals(stringCredential.getValue(), passphrase); }
From source file:org.springframework.cloud.config.server.environment.JGitEnvironmentRepositoryTests.java
License:Apache License
@Test public void gitCredentialsProviderFactoryCreatesPassphraseProvider() throws Exception { final String passphrase = "mypassphrase"; final String gitUri = "git+ssh://git@somegitserver/somegitrepo"; GitCredentialsProviderFactory credentialsFactory = new GitCredentialsProviderFactory(); Git mockGit = mock(Git.class); MockCloneCommand mockCloneCommand = new MockCloneCommand(mockGit); JGitEnvironmentRepository envRepository = new JGitEnvironmentRepository(this.environment); envRepository.setGitFactory(new MockGitFactory(mockGit, mockCloneCommand)); envRepository.setUri(gitUri);//from w w w. j a va 2 s. com envRepository.setBasedir(new File("./mybasedir")); envRepository.setGitCredentialsProvider(credentialsFactory.createFor(gitUri, null, null, passphrase)); envRepository.setCloneOnStart(true); envRepository.afterPropertiesSet(); assertTrue(mockCloneCommand.hasPassphraseCredentialsProvider()); CredentialsProvider provider = mockCloneCommand.getCredentialsProvider(); assertFalse(provider.isInteractive()); CredentialItem.StringType stringCredential = new CredentialItem.StringType( PassphraseCredentialsProvider.PROMPT, true); assertTrue(provider.supports(stringCredential)); provider.get(new URIish(), stringCredential); assertEquals(stringCredential.getValue(), passphrase); }