ExtendApiQQExmail
This commit is contained in:
@@ -26,6 +26,7 @@ import org.maxkey.authz.endpoint.AuthorizeBaseEndpoint;
|
||||
import org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter;
|
||||
import org.maxkey.constants.Boolean;
|
||||
import org.maxkey.entity.Accounts;
|
||||
import org.maxkey.entity.UserInfo;
|
||||
import org.maxkey.entity.apps.Apps;
|
||||
import org.maxkey.util.Instance;
|
||||
import org.maxkey.web.WebContext;
|
||||
@@ -55,21 +56,46 @@ public class ExtendApiAuthorizeEndpoint extends AuthorizeBaseEndpoint{
|
||||
ModelAndView modelAndView=new ModelAndView("authorize/redirect_sso_submit");
|
||||
Apps apps=getApp(id);
|
||||
_logger.debug(""+apps);
|
||||
UserInfo userInfo = WebContext.getUserInfo();
|
||||
if(Boolean.isTrue(apps.getIsAdapter())){
|
||||
Accounts appUser=getAccounts(apps);
|
||||
|
||||
if(appUser == null){
|
||||
return generateInitCredentialModelAndView(id,"/authorize/api/"+id);
|
||||
}
|
||||
|
||||
AbstractAuthorizeAdapter adapter =(AbstractAuthorizeAdapter)Instance.newInstance(apps.getAdapter());
|
||||
|
||||
apps.setAppUser(appUser);
|
||||
String username ="";
|
||||
String password ="";
|
||||
if(apps.getCredential()==1) {
|
||||
if(apps.getSystemUserAttr().equalsIgnoreCase("uid")) {
|
||||
username = userInfo.getId();
|
||||
}else if(apps.getSystemUserAttr().equalsIgnoreCase("username")) {
|
||||
username = userInfo.getUsername();
|
||||
}else if(apps.getSystemUserAttr().equalsIgnoreCase("email")) {
|
||||
username = userInfo.getEmail();
|
||||
}else if(apps.getSystemUserAttr().equalsIgnoreCase("employeeNumber")) {
|
||||
username = userInfo.getEmployeeNumber();
|
||||
}else if(apps.getSystemUserAttr().equalsIgnoreCase("windowsaccount")) {
|
||||
username = userInfo.getWindowsAccount();
|
||||
}else if(apps.getSystemUserAttr().equalsIgnoreCase("mobile")) {
|
||||
username = userInfo.getMobile();
|
||||
}else if(apps.getSystemUserAttr().equalsIgnoreCase("workEmail")) {
|
||||
username = userInfo.getWorkEmail();
|
||||
}else {
|
||||
username = userInfo.getEmail();
|
||||
}
|
||||
|
||||
} else if(apps.getCredential()==2) {
|
||||
username = apps.getSharedUsername();
|
||||
password = apps.getSharedPassword();
|
||||
}else if(apps.getCredential()==3) {
|
||||
Accounts appUser=getAccounts(apps);
|
||||
if(appUser == null){
|
||||
return generateInitCredentialModelAndView(id,"/authorize/api/"+id);
|
||||
}
|
||||
apps.setAppUser(appUser);
|
||||
}
|
||||
|
||||
modelAndView=adapter.authorize(
|
||||
WebContext.getUserInfo(),
|
||||
apps,
|
||||
appUser.getRelatedUsername()+"."+appUser.getRelatedPassword(),
|
||||
username+"="+password,
|
||||
modelAndView);
|
||||
return modelAndView;
|
||||
}else{
|
||||
|
||||
@@ -58,6 +58,8 @@ public class ExtendApiQQExmailAdapter extends AbstractAuthorizeAdapter {
|
||||
HttpsTrusts.beforeConnection();
|
||||
|
||||
Apps details=(Apps)app;
|
||||
String username = data.substring(0, data.indexOf("="));
|
||||
String password = data.substring(data.indexOf("=") + 1);
|
||||
//extraAttrs from Applications
|
||||
ExtraAttrs extraAttrs=null;
|
||||
if(details.getIsExtendAttr()==1){
|
||||
@@ -69,7 +71,7 @@ public class ExtendApiQQExmailAdapter extends AbstractAuthorizeAdapter {
|
||||
_logger.debug(""+token);
|
||||
|
||||
OAuthClient authkeyRestClient=new OAuthClient(
|
||||
String.format(AUTHKEY_URI,token.getAccess_token(),details.getAppUser().getRelatedUsername()));
|
||||
String.format(AUTHKEY_URI,token.getAccess_token(),username));
|
||||
|
||||
HashMap<String, String> authKey=JsonUtils.gson2Object(authkeyRestClient.execute().getBody(), HashMap.class);
|
||||
_logger.debug("authKey : "+authKey);
|
||||
|
||||
Reference in New Issue
Block a user