Как получить доступ или получить Providerkey после входа пользователя с помощью OAuth2 - PullRequest
0 голосов
/ 06 апреля 2019

Я новичок в ASP.Net MVC 5 и использую встроенную идентификацию для создания простого сайта ASP.net.И я также новичок в C #.

Я успешно настроил свою учетную запись Google для настроек OAuth2 и могу успешно войти в свою учетную запись Google.Информация для входа в систему хранится в таблице «ASPNetUserLogins».

Теперь я не хочу получать «ProviderKey», чтобы я мог использовать API Google для перечисления своих проектов в моем GCP (облачная платформа Google).

        public ActionResult Index()
        {
            if (User.Identity.IsAuthenticated)
            {
                var providerKey = GetProviderkey(User.Identity.GetUserId());

                // do some logic later. 
            }

            return View();
        }

        private string GetProviderkey(string UserID)
        {
            var _userManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
            var user = _userManager.GetLogins(UserID);
            var providerKey = "";

            if (user != null)
            {
                var info = user.SingleOrDefault(u => u.Equals(user));
                providerKey = info.ProviderKey;
            }

            return providerKey;
        }

Я получил ошибку, и моя переменная "info" равна нулю.Спасибо за помощь, ребята.

1 Ответ

0 голосов
/ 06 апреля 2019

ааа ладно .. только что решил.;)

        private string GetProviderkey(string UserID)
        {
            var _userManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
            var user = _userManager.FindById(UserID);
            var providerKey = "";

            if (user != null)
            {
                var info = user.Logins.SingleOrDefault(u => u.UserId == UserID);
                providerKey = info.ProviderKey;
            }

            return providerKey;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...