2016-04-27 93 views
0

我想让用户在成功使用google api登录后在JIRA中登录。 我得到access_token代码在我的servlet类中,但无法登录到jira。成功使用google api登录后的Jira登录

我得到了一些解决方案,但大多数方法已被弃用。

在此先感谢。 :)

+0

你能分享到目前为止你已经尝试过的代码? – Sam

回答

0

@SAM

这里是代码...

的.js用ajax,我打电话servlet和发送数据

callingServlet(responseEmail,responseAccess_token,responseCode){ 
    AJS.$.ajax({ 
      url: "/plugins/servlet/google/login", 
      type: "POST", 
      data: ({ email:responseEmail, access_token:responseAccess_token, code:responseCode}), 
      dataType: "json", 
     }); 
} 

Atlassian的-plugin.xml我已配置servlet

<servlet name="google-login-servlet" key="googleloginservlet" class="in.componence.jira.plugin.google.GoogleLoginServlet"> 
     <url-pattern>/google/login</url-pattern> 
    </servlet> 

,并在里面的doPost我的Servlet类()

Collection<ApplicationUser> jiraUsersCollection= ComponentAccessor.getUserUtil().getUsers(); 


     for (Iterator iterator = jiraUsersCollection.iterator(); iterator.hasNext();) { 

      ApplicationUser jiraCrowdUser = (ApplicationUser) iterator.next(); 
      if(jiraCrowdUser.getEmailAddress().equalsIgnoreCase(googleEmail)){ 
       System.out.println("User Found with : "+jiraCrowdUser.getUsername()+" and Email: "+jiraCrowdUser.getEmailAddress()); 
       Principal userToLogin = (Principal)jiraCrowdUser; 





       response.sendRedirect("/secure/Dashboard.jspa"); 
       return; 
      } 
     }