Я работаю с учетными записями пользователей Meteor для создания пользователей. Я реализовал два способа создания пользователей.
- Используя account-password для создания (по умолчанию).
- OAuth Services ( accounts-google и accounts-facebook )
Учетная запись пользователя, созданная с помощью accounts-password иметь документ, показанный ниже
{
"_id": "DQnDpEag2kPevSdJY",
"createdAt": "2015-12-10T22:34:17.610Z",
"services": {
"password": {
"bcrypt": "XXX"
},
"resume": {
"loginTokens": [
{
"when": "2015-12-10T22:34:17.615Z",
"hashedToken": "XXX"
}
]
}
},
-----
----
}
Где в качестве учетной записи пользователя, созданной с помощью accounts-google или account-facebook , иметь документ, показанный ниже.
{
"_id": "Ap85ac4r6Xe3paeAh",
"createdAt": "2015-12-10T22:29:46.854Z",
"services": {
"facebook": {
"accessToken": "XXX",
"expiresAt": 1454970581716,
"id": "XXX",
"email": "myname@gmail.com",
"name": "Ada Lovelace",
"first_name": "Ada",
"last_name": "Lovelace",
"link": "https://www.facebook.com/app_scoped_user_id/XXX/",
"gender": "female",
"locale": "en_US",
"age_range": {
"min": 21
}
},
---
---
---
Теперь реальная проблема заключается в том, что, хотя используемый адрес электронной почты одинаков как для учетных записей-паролей, так и для учетных записей-google (в моем случае адрес электронной почты myname@gmail.com), создаются две разные учетные записи пользователей.
Ищу решение Примерно ниже. (Примечание: Сервисы имеют разделы «Пароль» и «Facebook» под одной учетной записью)
{
"_id": "DQnDpEag2kPevSdJY",
"createdAt": "2015-12-10T22:34:17.610Z",
"services": {
"password": {
"bcrypt": "XXX"
},
"facebook": {
"accessToken": "XXX",
"expiresAt": 1454970581716,
"id": "XXX",
"email": "myname@gmail.com",
"name": "Ada Lovelace",
"first_name": "Ada",
"last_name": "Lovelace",
"link": "https://www.facebook.com/app_scoped_user_id/XXX/",
"gender": "female",
"locale": "en_US",
"age_range": {
"min": 21
}
},
},
-----
----
}
Есть ли способ, при котором только одна учетная запись создается в обоих случаях, означает, что пользователь уже существует и то же самое происходит со службой OAuth, первая учетная запись должна использоваться для размещения службы?