//<?xml version="1.0" encoding="UTF-8" standalone="yes"?> //<person> // <id>FQJIJg-u80</id> // <first-name>alexander</first-name> // <last-name>rusanov</last-name> //</person> public LoginProfile ProcessAuthoriztion(HttpContext context, IDictionary <string, string> @params) { var token = context.Request["oauth_token"]; if (string.IsNullOrEmpty(token)) { LinkedInConsumer.RequestAuthorization(SignIn); } else { var accessTokenResponse = SignIn.ProcessUserAuthorization(); if (accessTokenResponse != null) { //All ok. request info var responce = LinkedInConsumer.GetProfile(SignIn, accessTokenResponse.AccessToken); var document = XDocument.Parse(responce).CreateNavigator(); return(new LoginProfile() { Id = document.SelectNodeValue("//id"), FirstName = document.SelectNodeValue("//first-name"), LastName = document.SelectNodeValue("//last-name"), Avatar = document.SelectNodeValue("//picture-url"), Provider = ProviderConstants.LinkedIn }); } return(LoginProfile.FromError(new Exception("Login failed"))); } return(null); }
private static LoginProfile RequestProfile(string accessToken) { var responce = LinkedInConsumer.GetProfile(SignIn, accessToken); var document = XDocument.Parse(responce).CreateNavigator(); return(new LoginProfile { Id = document.SelectNodeValue("//id"), FirstName = document.SelectNodeValue("//first-name"), LastName = document.SelectNodeValue("//last-name"), Avatar = document.SelectNodeValue("//picture-url"), Provider = ProviderConstants.LinkedIn }); }
public LoginProfile ProcessAuthoriztion(HttpContext context, IDictionary <string, string> @params) { var token = context.Request["oauth_token"]; if (string.IsNullOrEmpty(token)) { LinkedInConsumer.RequestAuthorization(SignIn); } else { var accessTokenResponse = SignIn.ProcessUserAuthorization(); try { return(token == null ? LoginProfile.FromError(new Exception("Login failed")) : RequestProfile(accessTokenResponse.AccessToken)); } catch (Exception ex) { return(LoginProfile.FromError(ex)); } } return(null); }