diff --git a/src/main/java/at/ac/uibk/gitsearch/security/jwt/TokenProvider.java b/src/main/java/at/ac/uibk/gitsearch/security/jwt/TokenProvider.java index 9809956c0fa7ed8fbd861862da4f48e4a32be37c..8f2e37b6392db1ee2633abb58a69f6531a90d6af 100644 --- a/src/main/java/at/ac/uibk/gitsearch/security/jwt/TokenProvider.java +++ b/src/main/java/at/ac/uibk/gitsearch/security/jwt/TokenProvider.java @@ -14,6 +14,7 @@ import javax.annotation.PostConstruct; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.GrantedAuthority; @@ -25,6 +26,7 @@ import org.springframework.security.oauth2.core.oidc.user.DefaultOidcUser; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; +import at.ac.uibk.gitsearch.config.ApplicationProperties; import io.github.jhipster.config.JHipsterProperties; import io.jsonwebtoken.Claims; import io.jsonwebtoken.JwtBuilder; @@ -88,10 +90,14 @@ public class TokenProvider { private long tokenValidityInMillisecondsForRememberMe; + @Autowired private final JHipsterProperties jHipsterProperties; + @Autowired + private final ApplicationProperties applicationProperties; - public TokenProvider(JHipsterProperties jHipsterProperties) { + public TokenProvider(JHipsterProperties jHipsterProperties, ApplicationProperties applicationProperties) { this.jHipsterProperties = jHipsterProperties; + this.applicationProperties = applicationProperties; } @PostConstruct @@ -261,7 +267,7 @@ public class TokenProvider { if(accessToken.isPresent()) { final Optional<String> accessIssuer = getGitLabAccessIssuer(); if(accessIssuer.isPresent()) { - return Optional.of(new GitLabAccessInfo(accessToken.get(), accessIssuer.get(), getCurrentPrincipal()) ); + return Optional.of(new GitLabAccessInfo(accessToken.get(), applicationProperties.getGitLab().getUrl(), getCurrentPrincipal()) ); } } return Optional.empty(); diff --git a/src/main/webapp/app/search/service/search-service.ts b/src/main/webapp/app/search/service/search-service.ts index 096425a46930084f2e65d9b7240781bc1869559e..64719cff3cbd53c344702dba2f22dec85c87260b 100644 --- a/src/main/webapp/app/search/service/search-service.ts +++ b/src/main/webapp/app/search/service/search-service.ts @@ -40,7 +40,7 @@ export class SearchService { } downloadFile(projectID: string): Observable<Object> { - return this.http.post(SERVER_API_URL + 'download/${projectID}', { + return this.http.post(SERVER_API_URL + 'download/' + projectID, { observe: 'response', responseType: 'blob', }); diff --git a/src/main/webapp/app/shared/login/login.component.html b/src/main/webapp/app/shared/login/login.component.html index 4fd8e77d08a6f12606c11049919b05b5df766003..a81c8c83d1bd566bc386ac8c16bd7d06f9f6bbec 100644 --- a/src/main/webapp/app/shared/login/login.component.html +++ b/src/main/webapp/app/shared/login/login.component.html @@ -39,9 +39,10 @@ </form> <br/> <div *ngFor="let config of configs"> - <img src="{{'oauth2.'+config.registrationId + '.icon'| translate}}" alt="oAuth2Image"/> + <img src="{{'oauth2.'+config.registrationId + '.icon'| translate}}" alt="oAuth2Image" style="width: 50px;"/> <button type="submit" class="btn btn-primary" (click)="loginWithGitLab(config.registrationId)" jhiTranslate="oauth2.{{config.registrationId}}.text">Login With GitLab</button> </div> + <!-- <div class="mt-3 alert alert-warning"> <a class="alert-link" (click)="requestResetPassword()" jhiTranslate="login.password.forgot">Did you forget your password?</a> </div> @@ -50,6 +51,7 @@ <span jhiTranslate="global.messages.info.register.noaccount">You don't have an account yet?</span> <a class="alert-link" (click)="register()" jhiTranslate="global.messages.info.register.link">Register a new account</a> </div> + --> </div> </div> </div> diff --git a/src/test/java/at/ac/uibk/gitsearch/security/jwt/JWTFilterTest.java b/src/test/java/at/ac/uibk/gitsearch/security/jwt/JWTFilterTest.java index 15cf8cb3f841afe178fa5dec62e8a6b20a30e7e5..d05bbdf8e4a2dfd1ebb5b49f97d73f15dfeec9dd 100644 --- a/src/test/java/at/ac/uibk/gitsearch/security/jwt/JWTFilterTest.java +++ b/src/test/java/at/ac/uibk/gitsearch/security/jwt/JWTFilterTest.java @@ -1,5 +1,6 @@ package at.ac.uibk.gitsearch.security.jwt; +import at.ac.uibk.gitsearch.config.ApplicationProperties; import at.ac.uibk.gitsearch.security.AuthoritiesConstants; import io.github.jhipster.config.JHipsterProperties; import io.jsonwebtoken.io.Decoders; @@ -29,7 +30,8 @@ public class JWTFilterTest { @BeforeEach public void setup() { JHipsterProperties jHipsterProperties = new JHipsterProperties(); - tokenProvider = new TokenProvider(jHipsterProperties); + ApplicationProperties appProperties = new ApplicationProperties(); + tokenProvider = new TokenProvider(jHipsterProperties, appProperties); ReflectionTestUtils.setField(tokenProvider, "key", Keys.hmacShaKeyFor(Decoders.BASE64 .decode("fd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8"))); diff --git a/src/test/java/at/ac/uibk/gitsearch/security/jwt/TokenProviderTest.java b/src/test/java/at/ac/uibk/gitsearch/security/jwt/TokenProviderTest.java index 54720fa7691414f4bd5a373054cc6129d04a2bd6..8d969ed0b9b6324c3310a085c2c3fe76f4393887 100644 --- a/src/test/java/at/ac/uibk/gitsearch/security/jwt/TokenProviderTest.java +++ b/src/test/java/at/ac/uibk/gitsearch/security/jwt/TokenProviderTest.java @@ -1,5 +1,6 @@ package at.ac.uibk.gitsearch.security.jwt; +import at.ac.uibk.gitsearch.config.ApplicationProperties; import at.ac.uibk.gitsearch.security.AuthoritiesConstants; import java.security.Key; @@ -30,7 +31,8 @@ public class TokenProviderTest { @BeforeEach public void setup() { - tokenProvider = new TokenProvider( new JHipsterProperties()); + ApplicationProperties appProperties = new ApplicationProperties(); + tokenProvider = new TokenProvider( new JHipsterProperties(), appProperties); key = Keys.hmacShaKeyFor(Decoders.BASE64 .decode("fd54a45s65fds737b9aafcb3412e07ed99b267f33413274720ddbb7f6c5e64e9f14075f2d7ed041592f0b7657baf8"));