public async Task <JObject> GetUserProfileAsync() { Credentials credentials = await Credentials.FromSessionAsync(Request.Cookies, Response.Cookies); if (credentials == null) { return(null); } // the API SDK UserProfileApi userApi = new UserProfileApi(); userApi.Configuration.AccessToken = credentials.TokenInternal; // get the user profile dynamic userProfile = await userApi.GetUserProfileAsync(); // prepare a response with name & picture dynamic response = new JObject(); response.name = string.Format("{0} {1}", userProfile.firstName, userProfile.lastName); response.picture = userProfile.profileImages.sizeX40; return(response); }
public async Task <AccessToken> GetPublicTokenAsync() { Credentials credentials = await Credentials.FromSessionAsync(Request.Cookies, Response.Cookies); if (credentials == null) { base.Response.StatusCode = (int)HttpStatusCode.Unauthorized; return(new AccessToken()); } // return the public (viewables:read) access token return(new AccessToken() { access_token = credentials.TokenPublic, expires_in = (int)credentials.ExpiresAt.Subtract(DateTime.Now).TotalSeconds }); }