Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло

ΠŸΠΎΡ‡Π΅ΠΌΡƒ срок дСйствия Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² истСкаСт?

Π― Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Google API ΠΈ OAuth2. Когда ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠ½Π΅ Π²Ρ‹Π΄Π°ΡŽΡ‚ Β«Ρ‚ΠΎΠΊΠ΅Π½ обновлСния» ΠΈ Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½Ρ‹ΠΉ Β«Ρ‚ΠΎΠΊΠ΅Π½ доступа». Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° срок дСйствия Ρ‚ΠΎΠΊΠ΅Π½Π° доступа истСкаСт, я ΠΌΠΎΠ³Ρƒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свой Ρ‚ΠΎΠΊΠ΅Π½ обновлСния Π² Google, ΠΈ ΠΎΠ½ΠΈ прСдоставят ΠΌΠ½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ доступа.

Π£ мСня вопрос, ΠΊΠ°ΠΊΠΎΠ²Π° Ρ†Π΅Π»ΡŒ истСчСния срока дСйствия Ρ‚ΠΎΠΊΠ΅Π½Π° доступа? ΠŸΠΎΡ‡Π΅ΠΌΡƒ вмСсто ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° обновлСния Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° доступа?

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, срок дСйствия ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° обновлСния истСкаСт?

Π‘ΠΌ. ИспользованиС OAuth 2.0 для доступа ΠΊ API Google для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ процСссС Google OAuth2.

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ сильно зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ общая идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ краткосрочного доступа с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ долгосрочного обновлСния. Π—Π°Ρ‡Π΅ΠΌ?

НСсколько сцСнариСв ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΡŒ доступа ΠΈ обновлСния Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ тСхничСскиС компромиссы ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ систСмы oauth2 (ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ):

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ Π²Π΅Π±-прилоТСния

Π’ сцСнарии Π²Π΅Π±-прилоТСния Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:

Π’ 1 access_token ΠΈ refresh_token ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π² вашСм случаС Google) ΠΈ сСрвСром ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сдСлано ΠΏΠΎ бСзопасному ΠΊΠ°Π½Π°Π»Ρƒ. Π₯Π°ΠΊΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ сСанс, Π½ΠΎ ΠΎΠ½ смоТСт Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с вашим Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ΠΎ 2 Ρ…Π°ΠΊΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ access_token ΠΈ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои собствСнныС запросы ΠΊ рСсурсам, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ прСдоставил доступ. Π”Π°ΠΆΠ΅ Ссли Ρ…Π°ΠΊΠ΅Ρ€ Π·Π°Π²Π»Π°Π΄Π΅Π΅Ρ‚ access_token, Ρƒ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ рСсурсам.

Π’ любом случаС, refresh_token ΠΈ clientid / secret извСстны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСрвСру, поэтому Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ долгосрочный доступ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ прСдставим, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚Π΅ oauth2 ΠΈ установили Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π΅ доступа:

Π’ 1) Π½Π΅Ρ‚ большой Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ доступа, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ скрыт Π½Π° сСрвСрС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ access_token Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для прямого доступа ΠΊ рСсурсам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ сцСнарий

На мобильном Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ Π΅ΡΡ‚ΡŒ нСсколько извСстных ΠΌΠ½Π΅ сцСнариСв:

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ клиСнтскиС Π΄Π°Π½Π½Ρ‹Π΅ / сСкрСтныС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° устройствС ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠΉΡ‚Π΅ доступ ΠΊ рСсурсам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ бэкэнд-сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ / сСкрСт ΠΈ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ оркСстровку. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ access_token ΠΊΠ°ΠΊ своСго Ρ€ΠΎΠ΄Π° сСансовый ΠΊΠ»ΡŽΡ‡ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’ 1) Когда Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ / сСкрСт Π½Π° устройствС, ΠΎΠ½ΠΈ большС Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ сСкрСтом. Π›ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ это Π²Ρ‹, с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ. Access_token ΠΈ refresh_token Ρ‚Π°ΠΊΠΆΠ΅ находятся Π² памяти ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны Π½Π° скомпромСтированном устройствС, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² качСствС вашСго прилоТСния, Π½Π΅ прСдоставляя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ свои ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π’ этом сцСнарии Π΄Π»ΠΈΠ½Π° access_token Π½Π΅ влияСт Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π·Π»ΠΎΠΌΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ refresh_token находится Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ мСстС, Ρ‡Ρ‚ΠΎ ΠΈ access_token. Π’ 2) ΠΊΠ»ΠΈΠ΅Π½Ρ‚ / сСкрСт ΠΈΠ»ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ обновлСния скомпромСтированы. Π—Π΄Π΅ΡΡŒ Π΄Π»ΠΈΠ½Π° срока дСйствия access_token опрСдСляСт, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Ρ…Π°ΠΊΠ΅Ρ€ смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ рСсурсам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ссли ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π΅Π³ΠΎ.

Π”Π»ΠΈΠ½Π° истСчСния

Π—Π΄Π΅ΡΡŒ всС зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚Π΅ своСй систСмой Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΡ‚Π΅ΠΊΠ°Ρ‚ΡŒ срок дСйствия вашСго access_token. Если это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ особСнно Ρ†Π΅Π½Π½ΠΎΠ΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ. Π§Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠ΅Π½Π΅Π΅ Ρ†Π΅Π½Π½ΠΎΠ΅, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ дольшС.

НадСюсь, Ρ‡Ρ‚ΠΎ довольно Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ пост Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΡ‡Π΅ΠΌΡƒ срок дСйствия Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² истСкаСт?

Π― Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Google API ΠΈ OAuth2. Когда ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠ½Π΅ Π²Ρ‹Π΄Π°ΡŽΡ‚ «Ρ‚ΠΎΠΊΠ΅Π½ обновлСния» ΠΈ Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½Ρ‹ΠΉ «Ρ‚ΠΎΠΊΠ΅Π½ доступа». Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° срок дСйствия Ρ‚ΠΎΠΊΠ΅Π½Π° доступа истСкаСт, я ΠΌΠΎΠ³Ρƒ POST ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ свой Ρ‚ΠΎΠΊΠ΅Π½ Π² Google, ΠΈ ΠΎΠ½ΠΈ прСдоставят ΠΌΠ½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ доступа.

Мой вопрос: ΠΊΠ°ΠΊΠΎΠ²Π° Ρ†Π΅Π»ΡŒ истСчСния срока дСйствия Ρ‚ΠΎΠΊΠ΅Π½Π° доступа? ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ долгосрочный Ρ‚ΠΎΠΊΠ΅Π½ доступа вмСсто Ρ‚ΠΎΠΊΠ΅Π½Π° обновлСния?

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, срок дСйствия ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° обновлСния истСкаСт?

Π‘ΠΌ. ИспользованиС OAuth 2.0 для доступа ΠΊ API Google для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ процСссС Google OAuth2.

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ сильно зависит ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π½ΠΎ общая идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°ΠΌ Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ краткосрочного доступа с Ρ‚ΠΎΠΊΠ΅Π½Π°ΠΌΠΈ долгосрочного обновлСния. Π—Π°Ρ‡Π΅ΠΌ?

НСсколько сцСнариСв ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»ΡŒ доступа ΠΈ обновлСния Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ тСхничСскиС компромиссы ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ систСмы oauth2 (ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ):

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ Π²Π΅Π±-прилоТСния

Π’ сцСнарии Π²Π΅Π±-прилоТСния Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:

Π’ 1 access_token ΠΈ refresh_token ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π² вашСм случаС Google) ΠΈ сСрвСром ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сдСлано ΠΏΠΎ бСзопасному ΠΊΠ°Π½Π°Π»Ρƒ. Π₯Π°ΠΊΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ сСанс, Π½ΠΎ ΠΎΠ½ смоТСт Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с вашим Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ΠΎ 2 Ρ…Π°ΠΊΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ access_token ΠΈ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои собствСнныС запросы ΠΊ рСсурсам, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ прСдоставил доступ. Π”Π°ΠΆΠ΅ Ссли Ρ…Π°ΠΊΠ΅Ρ€ Π·Π°Π²Π»Π°Π΄Π΅Π΅Ρ‚ access_token, Ρƒ Π½Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ рСсурсам.

Π’ любом случаС, refresh_token ΠΈ clientid/secret извСстны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСрвСру, поэтому Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ долгосрочный доступ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ прСдставим, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚Π΅ oauth2 ΠΈ установили Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ Π½Π° Ρ‚ΠΎΠΊΠ΅Π½Π΅ доступа:

Π’ 1) НСт большой Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ ΠΈ Π΄Π»ΠΈΠ½Π½ΠΎΠ³ΠΎ доступа, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ скрыт Π½Π° сСрвСрС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ access_token Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для прямого доступа ΠΊ рСсурсам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ сцСнарий

На мобильном Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ я знаю нСсколько сцСнариСв:

Π₯Ρ€Π°Π½ΠΈΡ‚Π΅ клиСнтскиС Π΄Π°Π½Π½Ρ‹Π΅/сСкрСтныС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° устройствС ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠΉΡ‚Π΅ доступ ΠΊ рСсурсам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ бэкэнд-сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚/сСкрСт ΠΈ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ оркСстровку. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ access_token ΠΊΠ°ΠΊ своСго Ρ€ΠΎΠ΄Π° ΠΊΠ»ΡŽΡ‡ сСанса ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π’ 1) Когда Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚/сСкрСт Π½Π° устройствС, ΠΎΠ½ΠΈ большС Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ сСкрСтом. Π›ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ это Π²Ρ‹, с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ. Access_token ΠΈ refresh_token Ρ‚Π°ΠΊΠΆΠ΅ находятся Π² памяти ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ доступны Π½Π° скомпромСтированном устройствС, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² качСствС вашСго прилоТСния, Π½Π΅ прСдоставляя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ свои ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π’ этом сцСнарии Π΄Π»ΠΈΠ½Π° access_token Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ значСния для возмоТности Π²Π·Π»ΠΎΠΌΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ refresh_token находится Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ мСстС, Ρ‡Ρ‚ΠΎ ΠΈ access_token. Π’ 2) ΠΊΠ»ΠΈΠ΅Π½Ρ‚/сСкрСт ΠΈΠ»ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ обновлСния скомпромСтированы. Π—Π΄Π΅ΡΡŒ Π΄Π»ΠΈΠ½Π° срока дСйствия access_token опрСдСляСт, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Ρ…Π°ΠΊΠ΅Ρ€ смоТСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ рСсурсам ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ссли ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π΅Π³ΠΎ.

Π”Π»ΠΈΠ½Π° истСчСния

Π—Π΄Π΅ΡΡŒ всС зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚Π΅ своСй систСмой Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΡ‚Π΅ΠΊΠ°Ρ‚ΡŒ срок дСйствия вашСго access_token. Если это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ особСнно Ρ†Π΅Π½Π½ΠΎΠ΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ. Π§Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠ΅Π½Π΅Π΅ Ρ†Π΅Π½Π½ΠΎΠ΅, это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ дольшС.

НадСюсь, Ρ‡Ρ‚ΠΎ довольно Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ пост Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌ:

ПослС получСния Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ доступа ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ вмСстС с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ запросом ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π½Π° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ сСрвСры рСсурсов. Π­Ρ‚ΠΎ создаСт риск ΠΊΡ€Π°ΠΆΠΈ ΠΈ воспроизвСдСния Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² доступа (ΠΏΡ€ΠΈ условии, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ доступа ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ «ΠΠΎΡΠΈΡ‚Π΅Π»ΡŒ» (ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ RFC6750).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΈΡ… рисков Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ:

Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ рСсурсов, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ распрСдСлСнными сСрвСрами ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ бСзопасности ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с сСрвСрами Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π±ΠΎΠ»Π΅Π΅ низкая конфигурация SSL/TLS, мСньшая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈ Ρ‚.Π΄.). Π‘Π΅Ρ€Π²Π΅Ρ€Ρ‹ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ критичСски Π²Π°ΠΆΠ½ΠΎΠΉ инфраструктурой бСзопасности ΠΈ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Π΅.

Π’ΠΎΠΊΠ΅Π½Ρ‹ доступа ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² трассировках HTTP, ΠΆΡƒΡ€Π½Π°Π»Π°Ρ… ΠΈ Ρ‚.Π΄., ΠšΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΊΠΎΠ½Π½ΠΎ собраны для диагностичСских Ρ†Π΅Π»Π΅ΠΉ Π½Π° сСрвСрах рСсурсов ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ…. Π­Ρ‚ΠΈ слСды ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΡΡ‚ΡŒ Π² общСствСнных ΠΈΠ»ΠΈ полуобщСствСнных мСстах (срСдства отслСТивания ошибок, слуТба ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ Ρ‚.Π΄.).

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Backend RS ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ сторонним организациям, Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ довСрия.

Π’ΠΎΠΊΠ΅Π½ обновлСния, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ пСрСдаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π°ΠΌ ΠΈ всСгда ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Π²ΠΎ врСмя обновлСния (фактичСски «ΠΈΡΡ‚Π΅ΠΊΠ°Π΅Ρ‚» ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ‚ΠΎΠΊΠ΅Π½ обновлСния). Π­Ρ‚ΠΎ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ограничСнная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° ΠΈ воспроизвСдСния.

ПослСдняя ΠΌΡ‹ΡΠ»ΡŒ: Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ обновлСния ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ, ΠΎΡ‚ скомпромСтированных ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

По сути, это ΠΌΠ΅Ρ€Π° бСзопасности. Если вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π·Π»ΠΎΠΌΠ°Π½ΠΎ, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½ΠΎΠΌΡƒ Ρ‚ΠΎΠΊΠ΅Π½Ρƒ доступа ΠΈ Π½Π΅ смоТСт ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ.

Π‘Ρ€ΠΎΠΊ дСйствия Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² обновлСния Ρ‚Π°ΠΊΠΆΠ΅ истСкаСт, Π½ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΆΠΈΡ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ дольшС, Ρ‡Π΅ΠΌ Ρ‚ΠΎΠΊΠ΅Π½ доступа.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Когда истСкаСт срок дСйствия Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² GCM ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ InstanceID?

ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ GCM ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ я искал, каТутся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ ΠΈΠ»ΠΈ нСясными. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, я запутался, ΠΊΠΎΠ³Π΄Π° истСкаСт срок дСйствия Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². (Для справки, я Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с Android.)

ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я понимаю (ΠΈ, поТалуйста, ΠΏΠΎΠΏΡ€Π°Π²ΡŒΡ‚Π΅ мСня, Ссли я ошибаюсь), ΠΌΠΎΠΉ сСрвСр ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ API ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ отправитСля. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ отправитСля, я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ Ρ‡Π΅Ρ€Π΅Π· InstanceID, хранящийся локально Π½Π° ΠΌΠΎΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅. Π― ΡƒΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ запутался. Π’ instanceid-это Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚? Она ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ мСняСтся? Как насчСт Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ обновляСтся ΠΈΠ»ΠΈ удаляСтся ΠΈ пСрСустанавливаСтся (ΠΈΠ»ΠΈ устройство восстанавливаСтся)? Позвонив Π² InstanceID.getInstance я всСгда Π±ΡƒΠ΄Ρƒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ InstanceID, ΠΈΠ»ΠΈ ΠΎΠ½ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ истСчСт ΠΈ даст ΠΌΠ½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ? Π•ΡΡ‚ΡŒ Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для хранСния строки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅, вызывая getID ()? Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ фактичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ InstanceID ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ getID (), Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ это Π΅Ρ‰Π΅ большС услоТняСт ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ. (Для ссылка, я имСю Π² Π²ΠΈΠ΄Ρƒ: https://developers.google.com/instance-id/)

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ InstanceID, ΠΌΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ с сСрвСров GCM, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ Π·Π°Ρ‚Π΅ΠΌ отправляСт Π½Π° ΠΌΠΎΠΉ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Мой сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ этот ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний Π½Π° сСрвСры GCM, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ отправят сообщСниС Π½Π° устройство. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ устройство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сохранСнный InstanceID для фактичСского получСния этих сообщСний. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈΠΌΠ΅Ρ‚ΡŒ класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ GcmListenerService ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ эти сообщСния с onMessageReceived? МнС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ особСнного (ΠΊΡ€ΠΎΠΌΠ΅ опрСдСлСния Π΅Π³ΠΎ Π² AndroidManifest)? МнС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ InstanceID? Он просто Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π½Π°Π΅Ρ‚?

ΠΊΠΎΠ³Π΄Π° истСкаСт срок дСйствия этих ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ²? Π£ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ срок годности? Π― Ρ…Ρ€Π°Π½ΡŽ Ρ‚ΠΎΠΊΠ΅Π½ ΠΊΠ°ΠΊ строку Π½Π° сСрвСрС, Π½ΠΎ Ссли Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… истСкаСт, ΠΊΠ°ΠΊ я ΠΌΠΎΠ³Ρƒ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ истСкли? Π― всСгда ΠΌΠΎΠ³Ρƒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ InstanceID ΠΈ Ρ‚ΠΎΠΊΠ΅Π½, это каТСтся Π»Π΅Π³ΠΊΠΈΠΌ, Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ сдСлайтС старыС ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ? Как ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ старыС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ с сСрвСра? ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Π΅ΡΡ‚ΡŒ простой способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с APNS Π½Π° сторонС iOS Π²Π΅Ρ‰Π΅ΠΉ, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΈΡΡ‚Π΅ΠΊΡˆΠΈΡ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ просто ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ ΠΈΡ… ΠΈΠ· своСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

3 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

Π― ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ задаю Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих вопросов сам, ΠΊΠΎΠ³Π΄Π° я обновляю свою Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ GCM. ПослС Π²ΠΎΠ·ΠΈΡ‚ΡŒΡΡ с Π½ΠΈΠΌ нСсколько Π΄Π½Π΅ΠΉ, Π²ΠΎΡ‚ ΠΌΠΎΠΉ взгляд Π½Π° ваши вопросы.

ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я понимаю (ΠΈ, поТалуйста, ΠΏΠΎΠΏΡ€Π°Π²ΡŒΡ‚Π΅ мСня, Ссли я ошибаюсь), ΠΌΠΎΠΉ сСрвСр ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ API ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ отправитСля. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ отправитСля, я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ Ρ‡Π΅Ρ€Π΅Π· InstanceID, хранящийся локально Π½Π° ΠΌΠΎΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.

InstanceID назначаСтся ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚?

ΠΏΠΎΡ…ΠΎΠΆΠ΅, ΠΎΠ½ Π½Π°Π·Π½Π°Ρ‡Π΅Π½, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ запускаСтся, Π΄Π°ΠΆΠ΅ Ссли устройство Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ.

это ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ измСнится? Как насчСт Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ обновляСтся ΠΈΠ»ΠΈ удаляСтся ΠΈ пСрСустанавливаСтся (ΠΈΠ»ΠΈ устройство восстанавливаСтся)? Позвонив Π² InstanceID.getInstance я всСгда Π±ΡƒΠ΄Ρƒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ InstanceID, ΠΈΠ»ΠΈ ΠΎΠ½ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ истСчСт ΠΈ даст ΠΌΠ½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ?

ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра стабилСн, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ссли:

Ссли ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра стал нСдопустимым, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ getId (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра.

я протСстировал ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ прилоТСния ΠΈ очистку Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ всС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π²Π΅Ρ€Π½ΠΎ.

Π΅ΡΡ‚ΡŒ Π»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для хранСния строки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚Π΅, вызывая getID ()?

ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ API ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ это Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ вашСго прилоТСния для вас.

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ InstanceID, ΠΌΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ с сСрвСров GCM, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ Π·Π°Ρ‚Π΅ΠΌ отправляСт Π½Π° ΠΌΠΎΠΉ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Мой сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ этот ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний Π½Π° сСрвСры GCM, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ сообщСниС Π½Π° устройство. Π― ΡΡ‡ΠΈΡ‚Π°ΡŽ, Ρ‡Ρ‚ΠΎ устройство ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сохранСнный InstanceID для фактичСского получСния этих сообщСний. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈΠΌΠ΅Ρ‚ΡŒ класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ GcmListenerService ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΌΠ½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ эти сообщСния с onMessageReceived? МнС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ особСнного (ΠΊΡ€ΠΎΠΌΠ΅ опрСдСлСния Π΅Π³ΠΎ Π² AndroidManifest)? МнС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ InstanceID? Он просто Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π½Π°Π΅Ρ‚?

насколько я ΠΌΠΎΠ³Ρƒ ΡΡƒΠ΄ΠΈΡ‚ΡŒ, Π½Π΅ Π±Ρ‹Π»ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ InstanceId Π² прСдыдущая рСализация, ΠΈ Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° явно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² этом. Если это Ρ‚Π°ΠΊ, Ρ‚ΠΎ ΠΎΠ½ вызываСтся Π² любом GcmReceiver ΠΈΠ»ΠΈ GcmListenerService.

ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΆΠ΅Ρ‚ΠΎΠ½Ρ‹ эти Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹? Π£ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ срок годности?

Π― ΡƒΠΆΠ΅ обратился ΠΊ ΠΈΡΡ‚Π΅Ρ‡Π΅Π½ΠΈΡŽ ID, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°Ρ…, ΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΡ… Π² руководство ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Android InstanceID:

слуТба ID экзСмпляра пСриодичСски ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 6 мСсяцСв), Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ² прилоТСния. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹, ΠΊΠΎΠ³Π΄Π°:

руководство Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ подкласс InstanceIDListenerService ΠΈ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ onTokenRefresh() для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… ситуаций.

Π― Ρ…Ρ€Π°Π½ΡŽ Ρ‚ΠΎΠΊΠ΅Π½ ΠΊΠ°ΠΊ строку Π½Π° сСрвСрС, Π½ΠΎ Ссли Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… истСкаСт, ΠΊΠ°ΠΊ я ΠΌΠΎΠ³Ρƒ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ истСкли?

Π½Π° руководство ΠΏΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ GCM Π½Π° вашСм сСрвСрС Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ сСрвСр GCM ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ Π½Π° ваш сСрвСр Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ push-увСдомлСния.

Π― всСгда ΠΌΠΎΠ³Ρƒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ InstanceID ΠΈ Ρ‚ΠΎΠΊΠ΅Π½, это каТСтся Π»Π΅Π³ΠΊΠΈΠΌ, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° старыС ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ?

ΠΌΠΎΠΈ тСсты ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Π΄Π°, ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚.

Как ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ старыС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ с сСрвСра? ΠšΠ°ΠΆΠ΅Ρ‚ΡΡ, Π΅ΡΡ‚ΡŒ простой способ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это с APNS Π½Π° сторонС iOS Π²Π΅Ρ‰Π΅ΠΉ, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΈΡΡ‚Π΅ΠΊΡˆΠΈΡ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΈ просто ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ ΠΈΡ… ΠΈΠ· своСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π― всС Π΅Ρ‰Π΅ ΠΈΠ·ΡƒΡ‡Π°ΡŽ это ΠΈ Π±ΡƒΠ΄Ρƒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅, Ссли я смогу Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ.

@pumpkinpie65 ΠΈ @B. Roth Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ я сдСлал, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ нСдопустимыС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π² ΠΌΠΎΠ΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π² GCM Π΅ΡΡ‚ΡŒ опция «dry run» ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ увСдомлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ/списку ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Когда Π²Ρ‹ устанавливаСтС dry-run Π²ΠΎ врСмя ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, ΠΎΠ½ Π½Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠΌ увСдомлСния, Π½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹(200), Π° ΠΊΠ°ΠΊΠΈΠ΅ Π½Π΅Ρ‚.

Если Π²Ρ‹ отправляСтС ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ 200 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ с использованиСм ΠΎΠΏΡ†ΠΈΠΈ dry-run, Ρ‚ΠΎ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ GCM.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра?

Instance ID прСдоставляСт ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ экзСмпляра Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Android ΠΈ iOS, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ/Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Chrome.

ΠΏΠΎΠΌΠΈΠΌΠΎ прСдоставлСния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ бСзопасности для использования с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ слуТбами.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ВозмоТности

ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ID экзСмпляра

ΠΊΠΎΠ³Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра становится Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ?

Ссли ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра стал Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ getId (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ экзСмпляра. Π”ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎ собствСнности Π½Π° экзСмпляр ID ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ сСрвСрам доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ слуТбам, связанным с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ getToken (строка, строка).

ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ?

слуТба ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² экзСмпляров пСриодичСски ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΆΠ΄Ρ‹Π΅ 6 мСсяцСв), Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² прилоТСния. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹, ΠΊΠΎΠ³Π΄Π°:

ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ бСзопасности; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ SSL ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± устройствС большС Π½Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ восстановлСниС. Π­Ρ‚ΠΎΡ‚ Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС затрагиваСтся слуТба ID экзСмпляра.

всС, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ± ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅ экзСмпляра, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ссылкам:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° истСчСния Ρ‚ΠΎΠΊΠ΅Π½Π° Π² Firebase Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΡΡΠ½ΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмя Ρ‚ΠΎΠΊΠ΅Π½Π° истСкло

Π”ΠΎΠ²Π΅Π»ΠΎΡΡŒ ΠΌΠ½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Ρ‚Π°ΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. Π’Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ каТСтся Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈ понятной, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ масса ΠΈ Π½Π΅ всС ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ для Ρ‚Π²ΠΎΠ΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Но Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я расскаТу Π½Π΅ ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, Π° ΠΎ Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. И Ρ‚Π°ΠΊ приступим

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС, Π΅ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ описанныС API самой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π½ΠΎ Π½ΡŽΠ°Π½ΡΡ‹ скрыты.

НСмного ΠΏΡ€ΠΎ JWT Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π΅Π³ΠΎ истСчСния

Рассмотрим случай с использованиСм JWT Ρ‚ΠΎΠΊΠ΅Π½Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉ способ для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ ΠΏΡƒΡ‚Π΅ΠΌ дСкодирования содСрТимого Ρ‚ΠΎΠΊΠ΅Π½Π° idToken ΠΈ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ гарантированная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π΅Π³ΠΎ подлинности.

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ idToken осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ promise ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эта опСрация асинхронна ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° сСрвСр google ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π² JS, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ истСчСниС этого Ρ‚ΠΎΠΊΠ΅Π½Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’ этом Π½Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° https://github.com/auth0/node-jsonwebtoken, которая позволяСт Π±Π΅Π· всякой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠΊΠ΅Π½Π° Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ header Ρ‚Π°ΠΊ ΠΈ payload. ΠœΡ‹ Π·Π½Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ jwt Ρ‚ΠΎΠΊΠ΅Π½ состоит ΠΈΠ· Ρ‚Ρ€Π΅Ρ… частСй

Как триггСрится ΠΈ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ событиС смСны Ρ‚ΠΎΠΊΠ΅Π½Π°

Из Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ firebase, ясно, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΎΠ²ΠΈΡ‚ΡŒ событиС обновлСния Ρ‚ΠΎΠΊΠ΅Π½Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° событиС onIdTokenChanged.

onIdTokenChanged(nextOrObserver, error, completed) returns function()

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ ΠΈΡΡ‚Π΅ΠΊΠ°Ρ‚ΡŒ срок дСйствия Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² доступа OAuth2 для мобильного прилоТСния?

прСдполагая, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Π½Π΅Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Ρ‚ΠΎΠΊΠ΅Π½Π° доступа, заботится ΠΎ пСрвая Ρ‚ΠΎΡ‡ΠΊΠ° пуля.

прСдполагая, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π² порядкС с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ поиска Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΎΡ‚Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ случайного ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° доступа заботится ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ.

для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ аутСнтификация ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сильнСС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ » client_id ΠΈ client_secret, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ рСгистрации, встроСны Π² исходный ΠΊΠΎΠ΄ вашСго прилоТСния. Π’ этом контСкстС client_secret явно Π½Π΅ рассматриваСтся ΠΊΠ°ΠΊ сСкрСт.»( Google). Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π˜Ρ‚Π°ΠΊ, Π² Ρ‡Π΅ΠΌ прСимущСство раздСлСния ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² доступа ΠΈ Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΡ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² обновлСния Π² этом сцСнарии? Π­Ρ‚ΠΎ «Ρ…ΠΎΡ€ΠΎΡˆΠΎ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ доступа Π±Π΅Π· истСчСния срока дСйствия ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всю Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Π° обновлСния?

3 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

Если Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ доступ ΠΊ вашСй Π½Π΅ ΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΊΠ΅Π½ доступа, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ Π½Π° ваш сСрвСр рСсурсов ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² качСствС ΠΎΡ‚Π²Π΅Ρ‚Π°.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΎΠ½ ΡƒΠΊΡ€Π°Π» ваш ΠΌΠ°Ρ€ΠΊΠ΅Ρ€, Он сначала Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ сСрвСр Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ доступа Π² ΠΎΡ‚Π²Π΅Ρ‚. Π’ΠΎΠ³Π΄Π° ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ сСрвСр рСсурсов для ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ доступа Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ с вашСго сСрвСра Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° обновлСния, спСцификация OAuth 2 (ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, послСдний ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚) Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ сСрвСра ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΈ Ссли ΠΎΠ½ привязан ΠΊ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρƒ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с сСкрСтом ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ установлСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для этого. Google, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ прилоТСния Android Π±Ρ‹Π»ΠΈ подписаны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ. ΠŸΡ€ΠΈ запросС ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для прилоТСния Android с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π² Google API Π² консоли, поэтому Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ использовали для подписания заявлСния ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π½ΠΎ Π½Π΅ сСкрСт Π² ΠΎΡ‚Π²Π΅Ρ‚. ΠŸΡ€ΠΈ Π²Ρ‹Π΄Π°Ρ‡Π΅ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Google ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π±Ρ‹Π»ΠΎ Π»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ для запроситС ΠΆΠ΅Ρ‚ΠΎΠ½Ρ‹ Π½Π° Π΅Π³ΠΎ имя.

Если Π²Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π»ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ обновлСния Π±Ρ‹Π» ΡƒΠΊΡ€Π°Π΄Π΅Π½. БпСцификация ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠΊΠΎΠ³Π΄Π° аутСнтификация ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, сСрвСр Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ срСдства для обнаруТСния злоупотрСблСния Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ обновлСния.

Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сСрвСр Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ обновлСния Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ обновлСния выдаСтся с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° доступа. ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ обновлСния нСдСйствитСлСн, Π½ΠΎ сохраняСтся сСрвСром Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. Если ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ обновлСния скомпромСтирован ΠΈ впослСдствии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ Π·Π°ΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… прСдставит Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ обновлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сообщит сСрвСру Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ.

самая большая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π½Π΅ ΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ доступа Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° для Π·Π°ΠΌΠ΅Π½Ρ‹ ΡƒΠΊΡ€Π°Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°. Если я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ доступ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρƒ доступа Π±Π΅Π· истСчСния срока дСйствия, Ρ‚ΠΎ я фактичСски Π²Ρ‹ для этой систСмы. Если Ρ‚ΠΎΠΊΠ΅Π½ Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π΅Π½ ΠΈ истСкаСт, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π·Π°ΠΌΠ΅Π½Ρ‹ ΡƒΠΊΡ€Π°Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΊΠ½ΠΎ я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ ваш Ρ‚ΠΎΠΊΠ΅Π½.

ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΠ½Π΅ трСбуСтся 3 часа, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½, Π½ΠΎ Ρ‚ΠΎΠΊΠ΅Π½ доступа Ρ…ΠΎΡ€ΠΎΡˆ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π΄Π²ΡƒΡ… нСсколько часов. Π—Π°Ρ‚Π΅ΠΌ, ΠΊ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° я Π½Π΅ ΠΌΠΎΠ³Ρƒ Π²Π·Π»ΠΎΠΌΠ°Ρ‚ΡŒ Π²Π°ΡˆΡƒ ΡƒΡ‡Π΅Ρ‚Π½ΡƒΡŽ запись, Ρ‚ΠΎΠΊΠ΅Π½ измСнился, ΠΈ я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡Π°Ρ‚ΡŒ всС сначала. Если Ρ‚ΠΎΠΊΠ΅Π½ Π½Π΅ истСкаСт, Ρƒ мСня Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи, ΠΈ Ρƒ вас Π½Π΅Ρ‚ возмоТности Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ удалСния Ρ‚ΠΎΠΊΠ΅Π½Π° ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ доступа OAuth2 Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΡ‚Π΅ΠΊΠ°Ρ‚ΡŒ (ΠΈΠ»ΠΈ, скорСС, ΠΎΠ½ΠΈ ΠΈΡΡ‚Π΅ΠΊΠ°ΡŽΡ‚, Π½ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚).

ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ доступа ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для получСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… рСсурсов с сСрвСра рСсурсов, Π² частности, ΠΎΠ½ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ рСсурсы, ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠœΠ°Ρ€ΠΊΠ΅Ρ€ обновлСния, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, позволяСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ доступ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, нСльзя ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² обновлСния, Π½Π΅ трСбуя взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ доступом.

Π² Ρ†Π΅Π»ΠΎΠΌ, хотя, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΡ€Π°Π΄Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ врСдоносными прилоТСниями Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ устройствС ΠΈΠ»ΠΈ Π°Ρ‚Π°ΠΊΠ°ΠΌΠΈ MITM Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅. SSL способСн MITM, Ссли Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ сСртификату. Π­Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° трСбуСтся компаниями для доступа ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ сСтям (ΠΎΠ½ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ принятия ΡΠ°ΠΌΠΎΠ·Π°Π²Π΅Ρ€ΡΡŽΡ‰Π΅Π³ΠΎ сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΈΠΌ MITM вСсь Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, происходящий ΠΏΠΎ сСти ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, прСдполагая, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΡ€Π°Π΄Π΅Π½Ρ‹ Π² ΠΏΡƒΡ‚ΠΈ, опасно.

Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚Π΅Π»Ρ Π½Π΅ слабСС, Ρ‡Π΅ΠΌ любая другая Ρ„ΠΎΡ€ΠΌΠ° Ρ‚ΠΎΠΊΠ΅Π½Π° ΠΊΠ°ΠΊ таковая, ΠΊΠ°ΠΊ Π΄ΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΊΡƒΡ‡Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠΎΠΈΡ… собствСнных, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡŽ ссылку, ΠΊΠΎΠ³Π΄Π° смогу Π΅Π³ΠΎ ΠΎΡ‚ΠΊΠΎΠΏΠ°Ρ‚ΡŒ.) Однако Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚Π΅Π»Ρ подходят Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° допущСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΊΠ΅Π½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² сСкрСтС, являСтся основным ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π°Ρ… Π½Π° ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚Π΅Π»Ρ Π² Ρ†Π΅Π»ΠΎΠΌ. Если это Π½Π΅ Ρ‚Π°ΠΊ, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹-носитСли Π½Π΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… свойств бСзопасности (хотя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… всС Π΅Ρ‰Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ). Π‘ΠΌ.NIST Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 3 Ρ‚ΠΎΠΊΠ΅Π½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π°Ρ‚Π°ΠΊΠΈ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹-носитСли Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² Π’ΠΎΠΊΠ΅Π½Ρ‹ На ΠŸΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚Π΅Π»Ρ OAuth. ΠšΠΎΡ€ΠΎΡ‡Π΅ говоря, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚Π΅Π»Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Ρ‚ΡŒ ΠΊΡ€Π°ΠΆΡƒ Ρ‚ΠΎΠΊΠ΅Π½Π°.

Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π½Π° ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚Π΅Π»Ρ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ·Π²Π°Π½Ρ‹, это ΠΏΡ€Π°Π²Π΄Π°. Однако, учитывая, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ шаблоном доступа являСтся использованиС ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° доступа сразу послС приобрСтСния, Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ доступа Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΡ‚Π΅ΠΊΠ°Ρ‚ΡŒ довольно быстро, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли случай злоупотрСблСния Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ΠΎ Π² настоящСС врСмя. Π§Π΅ΠΌ дольшС находится Ρ‚ΠΎΠΊΠ΅Π½, Ρ‚Π΅ΠΌ большС Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΡ€Π°ΠΆΠΈ. ΠœΠ°Ρ€ΠΊΠ΅Ρ€ обновлСния Π½Π° самом Π΄Π΅Π»Π΅ Π³ΠΎΡ€Π°Π·Π΄ΠΎ опаснСС ΡƒΠΊΡ€Π°ΡΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ обСспСчиваСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ доступ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ссли Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. OAuth2 ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ доступ ΠΊ рСсурсам Π² Ρ†Π΅Π»ΠΎΠΌ ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для прСдоставлСния API ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π½Π° врСмя. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΊΠ΅Π½Π° обновлСния ΠΌΠΎΠΆΠ½ΠΎ нанСсти Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ больший ΡƒΡ‰Π΅Ρ€Π±, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° использования.

ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ бСзопасной нСсколькими способами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, прСдоставляя ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ»ΡŽΡ‡. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ Π°Ρ‚Π°ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ устройствС Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ для всСх экзСмпляров ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ использованиС OAuth для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с вашим сСрвСром, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ выполняСт Π²Ρ‚ΠΎΡ€ΠΎΠΉ запуск ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° OAuth с сСрвСром Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ. Π­Ρ‚ΠΎ позволяСт Π²Π°ΠΌ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ ΠΈΡ… ΠΊΠ»ΡŽΡ‡ΠΈ рСгулярно, ΠΈ для Π½ΠΈΡ… Ρƒ всСх Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΏΡ€ΠΈ этом Π½Π΅ создавая Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° систСмы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСрвСром Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ Facebook ΠΈΠ»ΠΈ Google, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

ΠΏΡ€ΠΈ использовании мобильного прилоТСния Π΄ΠΎΠ»Π³ΠΎΠ²Π΅Ρ‡Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ обновлСния Π±ΠΎΠ»Π΅Π΅ бСзопасны, Ρ‡Π΅ΠΌ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΎΠΊΠ΅Π½Π° Π½Π° ΠΏΡ€Π΅Π΄ΡŠΡΠ²ΠΈΡ‚Π΅Π»Ρ, Π΄Π°ΠΆΠ΅ Ссли Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ шаги для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π­Ρ‚ΠΎ происходит ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€. Если Ρ‚ΠΎΠΊΠ΅Π½ обновлСния Π½Π΅ ΡƒΠΊΡ€Π°Π΄Π΅Π½, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ просто Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΎΡ‚ΠΎΠ·Π²Π°Ρ‚ΡŒ доступ Ρ‚ΠΎΠ³Π΄Π° это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π’ΠΎΠΊΠ΅Π½ ΠΌΠ½ΠΎΠ³ΠΎΡ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ носитСля Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ·Π²Π°Π½, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ просто Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΎΡ‚ΠΎΠ·Π²Π°Ρ‚ΡŒ доступ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ссылочный ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ·Π²Π°Π½, Π½ΠΎ это Π½Π΅ Ρ‚ΠΎ, для Ρ‡Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΈ поэтому Π°Π½Π°Π»ΠΈΠ· бСзопасности, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Π½Π° OAuth, Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ бСзопасности этой Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠΉ систСмы.

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ я Π±Ρ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ обновлСния ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это, скорСС всСго, Π±ΡƒΠ΄Π΅Ρ‚ бСзопасно. Если Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, это бонус, Π½ΠΎ ситуации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ это Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, рассмотритС мягкиС Ρ‚ΠΎΠΊΠ΅Π½Ρ‹, a la Google authenticator, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это твСрдая рСализация, которая Π²Ρ‹Π΄Π΅Ρ€ΠΆΠ°Π»Π° Π°Π½Π°Π»ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠΌΠ½Ρ‹ΠΌΠΈ людьми.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *