private String faqUrl() throws Exception { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = requestAttributes.getRequest(); return UrlBuilder.createFaqUrl(request); }
private String signUrl() throws Exception { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = requestAttributes.getRequest(); return UrlBuilder.signUrl() .request(request) .claName(claName) .repositoryId(repositoryId) .pullRequestId(pullRequestId) .build(); }
@RequestMapping("/login/oauth2/github") public void oauth( ImportedSignaturesSessionAttr importedSignaturesAttr, HttpServletRequest request, HttpServletResponse response, @RequestParam String code, @RequestParam String state) throws Exception { String actualState = (String) request.getSession().getAttribute("state"); if (actualState == null || !actualState.equals(state)) { throw new InvalidSecretState(); } boolean admin = GitHubAuthenticationEntryPoint.isAdmin(state); OAuthAccessTokenParams params = new OAuthAccessTokenParams(); params.setCallbackUrl(UrlBuilder.fromRequest(request).callbackUrl()); params.setCode(code); params.setState(actualState); CurrentUserRequest userRequest = new CurrentUserRequest(); userRequest.setOauthParams(params); userRequest.setRequestAdminAccess(admin); User user = gitHub.getCurrentUser(userRequest); User existingUser = users.findOne(user.getGitHubLogin()); boolean isNewUser = existingUser == null; users.save(user); Authentication authentication = Login.loginAs(user); if (isNewUser) { List<IndividualSignature> individualSignatures = individual.findSignaturesFor(new PageRequest(0, 1), user); boolean signed = !individualSignatures.isEmpty(); if (!signed) { List<String> organizations = gitHub.getOrganizations(user.getGitHubLogin()); signed = !corporate .findSignatures(new PageRequest(0, 1), organizations, user.getEmails()) .isEmpty(); } if (signed) { importedSignaturesAttr.setValue(true); } } success.onAuthenticationSuccess(request, response, authentication); }
private String syncUrl() throws Exception { ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = requestAttributes.getRequest(); return UrlBuilder.createSyncUrl(request, claName, repositoryId, pullRequestId); }