Почему у меня все еще есть доступ к моему профилю и электронной почте с OAuth2, когда я комментирую их в области? - PullRequest
0 голосов
/ 03 апреля 2019

Я экспериментирую с OAuth2 в своем приложении angular 6. Я использовал этот пример плунжера в качестве руководства:

http://embed.plnkr.co/n0pFS3y74EpJzwgscrBu/

Я пытаюсь определить границы. В приведенном выше примере области видимости установлены в виде массива:

private scope = [
'profile',
'email',
'https://www.googleapis.com/auth/plus.me',
'https://www.googleapis.com/auth/contacts.readonly',
'https://www.googleapis.com/auth/admin.directory.user.readonly'
].join(' ');

И профиль, который я получаю от googleIUser.getBasicProfile (), такой:

Eea: "113986668155277652098"

Paa: "https://lh3.googleusercontent.com/-g38Ut0XhNpU/AAAAAAAAAAI/AAAAAAAAAAA/ACHi3rdLNEidxfUSzyQM2wn1S7uc2kFlBg/s96-c/photo.jpg"

U3: "subject46.2000series@gmail.com"

ig: "subject46 2000series"

ofa: "subject46"

wea: “2000series"

Теперь, если я закомментирую профиль и отправлю электронное письмо, как это:

private scope = [
//‘profile’,
//‘email’,
'https://www.googleapis.com/auth/plus.me',
'https://www.googleapis.com/auth/contacts.readonly',
'https://www.googleapis.com/auth/admin.directory.user.readonly'
].join(' ‘);

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

Так что кажется, что область не определяет то, что я получаю от API. Конечно, токены разные (access_token и id_token), но они все равно различаются каждый раз.

Мое исследование говорит мне, что область действия определяет, к чему имеет доступ токен доступа, поэтому, возможно, он определяет информацию, встроенную в сам токен доступа (другими словами, я не должен искать различий в профиле пользователя или чем-то еще еще). Но почему же, когда я комментирую профиль и электронную почту, я все равно получаю доступ к профилю пользователя и адресу электронной почты?

Кто-нибудь может объяснить, пожалуйста, области применения OAuth2 немного более четко? Спасибо.

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