Ejemplo n.º 1
0
        public async Task <Result <SocialModel> > FacebookValidateToken(dynamic data)
        {
            SocialModel model;

            try
            {
                string token = data.accessToken;

                HttpResponseMessage response = await client.GetAsync(_settings.GraphFacebook + data.userID + "?access_token=" + token);

                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();

                CallBackSocialModel facebook = JsonConvert.DeserializeObject <CallBackSocialModel>(responseBody);

                if (String.IsNullOrEmpty(facebook.error))
                {
                    model         = new SocialModel();
                    model.Email   = data.email;
                    model.Name    = data.name;
                    model.Picture = data.picture.data.url;
                }
                else
                {
                    return(_result.Create <SocialModel>(false, _errors.NotAuthorized, null));
                }
            }
            catch (Exception)
            {
                return(_result.Create <SocialModel>(false, _errors.NotAuthorized, null));
            }

            return(_result.Create(true, "", model));
        }
Ejemplo n.º 2
0
        public async Task <Result <SocialModel> > MicrosoftValidateToken(dynamic data)
        {
            SocialModel model;

            try
            {
                string token = data.accessToken;
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                HttpResponseMessage response = await client.GetAsync(_settings.GraphMicrosoft);

                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();

                CallBackSocialModel microsoft = JsonConvert.DeserializeObject <CallBackSocialModel>(responseBody);

                if (String.IsNullOrEmpty(microsoft.error))
                {
                    model       = new SocialModel();
                    model.Email = data.account.userName;
                    model.Name  = data.account.name;
                }
                else
                {
                    return(_result.Create <SocialModel>(false, _errors.NotAuthorized, null));
                }
            }
            catch (Exception)
            {
                return(_result.Create <SocialModel>(false, _errors.NotAuthorized, null));
            }

            return(_result.Create(true, "", model));
        }