public static Result loginWith(String socialNetwork){
String appcode = (String)ctx().args.get("appcode");
//after this call, db connection is lost!
SocialLoginService sc = SocialLoginService.by(socialNetwork,appcode);
Token t =extractOAuthTokensFromRequest(request());
if(t==null){
return badRequest(String.format("Both %s and %s should be specified as query parameters or in the json body",OAUTH_TOKEN,OAUTH_SECRET));
}
UserInfo result=null;
try {
if(sc.validationRequest(t.getToken())){
result = sc.getUserInfo(t);
}else{
return badRequest("Provided token is not valid");
}
} catch (BaasBoxSocialException e1) {
return badRequest(e1.getError());