@GET
 @Produces({"application/json", "application/jwt"})
 public Response getUserInfo() {
   OAuthContext oauth = OAuthContextUtils.getContext(mc);
   UserInfo userInfo =
       userInfoProvider.getUserInfo(
           oauth.getClientId(), oauth.getSubject(), oauth.getPermissions());
   if (userInfo != null) {
     userInfo.setIssuer(issuer);
   }
   userInfo.setAudience(oauth.getClientId());
   Object responseEntity = userInfo;
   if (super.isJwsRequired() || super.isJweRequired()) {
     responseEntity =
         super.processJwt(
             new JwtToken(userInfo), oauthDataProvider.getClient(oauth.getClientId()));
   }
   return Response.ok(responseEntity).build();
 }
Example #2
0
  /** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    Cookie[] c = request.getCookies();

    if (c == null || c.length == 0 || !c[0].getName().equals("fml31-id")) {
      response.sendRedirect("http://krotkov.me:8080/fml31-train/login");
      return;
    }

    int id = Integer.parseInt(c[0].getValue());

    User u = UserInfoProvider.getUser(id);

    if (u == null) {
      response.sendRedirect("http://krotkov.me:8080/fml31-train/login");
      return;
    }

    HtmlProvider.sendSimpleDynamicPage(response, "main.html", "$name$", u.login);
  }
Example #3
0
 private String getProcessedIdToken(ServerAccessToken st) {
   if (userInfoProvider != null) {
     IdToken idToken =
         userInfoProvider.getIdToken(
             st.getClient().getClientId(), st.getSubject(), st.getScopes());
     setAtHashAndNonce(idToken, st);
     return super.processJwt(new JwtToken(idToken), st.getClient());
   } else if (st.getSubject().getProperties().containsKey(OidcUtils.ID_TOKEN)) {
     return st.getSubject().getProperties().get(OidcUtils.ID_TOKEN);
   } else if (st.getSubject() instanceof OidcUserSubject) {
     OidcUserSubject sub = (OidcUserSubject) st.getSubject();
     IdToken idToken = new IdToken(sub.getIdToken());
     idToken.setAudience(st.getClient().getClientId());
     idToken.setAuthorizedParty(st.getClient().getClientId());
     // if this token was refreshed then the cloned IDToken might need to have its
     // issuedAt and expiry time properties adjusted if it proves to be necessary
     setAtHashAndNonce(idToken, st);
     return super.processJwt(new JwtToken(idToken), st.getClient());
   } else {
     return null;
   }
 }