2016-03-02 5 views
0

Я пытался связать/объединить поставщиков auth в Firebase, но вместо этого мне было интересно, даст ли эта работа мне подобные результаты.Как только пользователь зарегистрировался в Firebase с помощью электронной почты и пароля, я могу использовать google auth для связи с пользователями видео Youtube?

Могу ли я войти в систему с помощью электронной почты Firebase &, а затем на странице своего профиля использовать авторизацию google, чтобы я мог захватить их токен доступа, чтобы получить доступ к их видео с YouTube?

Затем, когда я устанавливаю пользователя, я буду использовать их пароль и электронную почту, но передаю в Google uid для дальнейшего использования, чтобы я мог получить доступ к их видео.

// ОБНОВЛЕНО вопрос с примером кода

Так изначально, я просто подписывая пользователей с использованием Google и передавая в параметрах YouTube, чтобы я мог получить доступ к пользователям видео. Это мой Firebase auth с функцией google ниже.

$scope.authWithGoogle = function() { 
    var scope = { 
     scope:'https://www.googleapis.com/auth/youtube' 
    }; 
    Auth.$authWithOAuthRedirect("google", scope).then(function(authData) { 
     $scope.loggedInUser = authData; 
    }).catch(function(error) { 
     if(error.code === "TRANSPORT_UNAVAILABLE") { 
     Auth.$authWithOAuthPopup("google", scope).then(function(authData) { 
      $scope.loggedInUser = authData; 
     }); 
     } else { 
     console.log(error); 
    } 
    }); 
    }; 

Это просто аутентифицирует пользователя и ничего не хранит в данных. Я думаю. Поэтому теперь я надеялся внедрить логин с электронной почтой и паролем, чтобы каждый мог войти в систему, даже если у них не было учетной записи google.

Мне просто интересно, могу ли я аутентифицировать пользователя по электронной почте и паролю, а затем, как только они вошли в систему, эта функция позволит пользователю пройти аутентификацию с помощью Google и связать свои видео с их учетной записью? Затем, когда я устанавливаю свои пользовательские данные, я могу сохранить их токен доступа для видео, чтобы потом получить доступ к ним. Я просто задавался вопросом, возможно ли это сделать, вместо того, чтобы пытаться связать электронную почту и пароль с учетной записью google или если она слишком халатная.

В конечном счете, если я могу войти в систему с помощью электронной почты и пароля, а затем связать свою учетную запись google после их подписания, это было бы желаемое поведение, которое я собираюсь, но я просто не смог найти, как это сделать это.

+0

Я понятия не имею, что вы имеете в виду здесь. Можете ли вы добавить код, который показывает, что вы уже сделали, и с чем вы столкнулись? –

+0

Привет, спасибо за ответ. Я обновил вопрос, надеюсь, уточнить мой вопрос немного лучше. Еще раз спасибо. –

ответ

1

В случае аутентификации Firebase пользователь может быть подписан только одному поставщику удостоверений. Таким образом, они могут быть подписаны на адрес электронной почты + пароль или google в вашем прецеденте, а не на оба.

Возможно, пользователь выполнил вход в систему аутентификации Google без использования Firebase Authentication, а затем связал их самостоятельно. Но поскольку это не встроено в Firebase, нет документации о том, как это сделать.

+1

Спасибо за ответ. Я не был уверен, что это возможно или нет, поэтому я хотел убедиться, прежде чем я направился по этой дороге. –