diff --git a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryToRepositoryDtoMapper.java b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryToRepositoryDtoMapper.java index 31901e4259..9147c65d1c 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryToRepositoryDtoMapper.java +++ b/scm-webapp/src/main/java/sonia/scm/api/v2/resources/RepositoryToRepositoryDtoMapper.java @@ -39,12 +39,14 @@ import sonia.scm.repository.api.Command; import sonia.scm.repository.api.RepositoryService; import sonia.scm.repository.api.RepositoryServiceFactory; import sonia.scm.repository.api.ScmProtocol; +import sonia.scm.security.Authentications; import sonia.scm.web.EdisonHalAppender; import sonia.scm.web.api.RepositoryToHalMapper; import javax.inject.Inject; import java.util.List; import java.util.Set; +import java.util.stream.Stream; import static de.otto.edison.hal.Embedded.embeddedBuilder; import static de.otto.edison.hal.Link.link; @@ -91,7 +93,11 @@ public abstract class RepositoryToRepositoryDtoMapper extends BaseMapper protocolLinks = repositoryService.getSupportedProtocols() + Stream supportedProtocols = repositoryService.getSupportedProtocols(); + if (Authentications.isAuthenticatedSubjectAnonymous()) { + supportedProtocols = supportedProtocols.filter(p -> !p.getType().equals("ssh")); + } + List protocolLinks = supportedProtocols .map(this::createProtocolLink) .collect(toList()); linksBuilder.array(protocolLinks);