ΠΠ²ΠΈΠΌ ΠΏΠΎΡΡΠΎΠΌ ΠΆΠ΅Π»ΠΈΠΌ Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΠΌ Π½ΠΈΡ ΡΠ»Π°Π½Π°ΠΊΠ° ΠΏΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠ‘Π΅ΡΠ²Π΅Ρ4. ΠΠΎΡΠ½ΠΈΠΌΠΎ ΡΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΌΠ°.
ΠΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ ΠΊΠΎΡΠΈ Π½Π°ΡΠ²ΠΈΡΠ΅ ΠΎΠ±Π΅ΡΠ°Π²Π° Ρ ΠΎΠ²ΠΎΠΌ ΡΡΠ΅Π½ΡΡΠΊΡ ΡΠ΅ , Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΠ΅ (ΠΎΠ±Π΅Π·Π±Π΅ΡΠΈΠ²Π°ΡΠ΅ ΠΏΡΠΈΡΡΡΠΏΠ°) ΡΠ΅ . ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΠΎΠ²Π° Π΄Π²Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΠΏΡΠΈΠΌΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅ Π·Π° ΡΠ΅ΡΠ°Π²Π°ΡΠ΅ ΡΠΈΠΏΠΈΡΠ½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄ Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ, Π½Π΅ ΠΏΡΡΠΆΠ° ΠΏΡΠΈΡΡΡΠΏ ΡΠ΅ΡΡΡΡΠΈΠΌΠ° (ΠΠ΅Π± ΠΠΠ), Π°Π»ΠΈ ΠΏΠΎΡΡΠΎ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ ΡΠ΅ Π½Π° Π²ΡΡ Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ , ΠΎΠΌΠΎΠ³ΡΡΠ°Π²Π° Π²Π°ΠΌ Π΄Π° Π΄ΠΎΠ±ΠΈΡΠ΅ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΠ³ ΠΏΡΠΎΡΠΈΠ»Π° ΠΊΠ°ΠΎ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΈΡΡΡΠΏ ΡΠ΅ΡΡΡΡΡ .
(ΠΠ‘ΠΠ ΠΠ΅Π± Π’ΠΎΠΊΠ΅Π½) ΡΠ΅ Π²Π΅Π± ΡΡΠ°Π½Π΄Π°ΡΠ΄ ΠΊΠΎΡΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ΅ Π½Π°ΡΠΈΠ½ Π·Π° ΠΏΡΠ΅Π½ΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ ΠΠ‘ΠΠ ΡΠΎΡΠΌΠ°ΡΡ Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΎΠΌ ΠΎΠ±Π»ΠΈΠΊΡ.
ΡΠ΅ Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΠΎΠ½ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΈ ΡΡΠ°Π½Π΄Π°ΡΠ΄. ΠΠΌΠΎΠ³ΡΡΠ°Π²Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΠΌΠ° Π΄Π° ΠΏΡΠΈΡΡΡΠΏΠ΅ Π·Π°ΡΡΠΈΡΠ΅Π½ΠΈΠΌ ΡΠ΅ΡΡΡΡΠΈΠΌΠ°, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ Π²Π΅Π± ΠΠΠ-ΡΠΈ.
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ ΠΏΡΠΈΡΡΡΠΏΠ° Π·Π°ΡΡΠΈΡΠ΅Π½ΠΎΠΌ ΡΠ΅ΡΡΡΡΡ ΠΈ ΡΠ°Π·ΡΠΌΠ΅ΠΌΠΎ Π³Π»Π°Π²Π½Π΅ ΠΊΠΎΡΠ°ΠΊΠ΅ ΠΈ ΠΏΡΠΈΡ Π²Π°ΡΠ΅Π½Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΡ:

ΠΠ»ΠΈΡΠ΅Π½Ρ ΡΡΠ°ΠΆΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»Ρ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° Π΄Π° ΡΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΡΡΠ΅ Ρ ΡΠ΅Π³ΠΎΠ²ΠΎ ΠΈΠΌΠ΅. Π¦ΡΡΡΠΎΠΌΠ΅Ρ ΡΠ΅ ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ° ΠΏΡΠΈΡΡΡΠΏΠ° Π·Π°ΡΡΠΈΡΠ΅Π½ΠΈΠΌ ΡΠ΅ΡΡΡΡΠΈΠΌΠ° Ρ ΠΈΠΌΠ΅ Π²Π»Π°ΡΠ½ΠΈΠΊΠ° ΡΠ΅ΡΡΡΡΠ°. ΡΠ΅ΡΡΡΡ - ΡΠΎ ΡΡ ΡΠ²Π΅ Π½Π°ΡΠ΅ Π·Π°ΡΡΠΈΡΠ΅Π½Π΅ ΡΡΠ»ΡΠ³Π΅ .
ΠΠΎΡΠΈΡΠ½ΠΈΠΊ Π΄ΠΎΠ·Π²ΠΎΡΠ°Π²Π° ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΠΎΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΈ Π΄Π° ΡΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΡΡΠ΅ Ρ ΡΠ΅Π³ΠΎΠ²ΠΎ ΠΈΠΌΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ½ΠΎΡΠ΅ΡΠ΅ΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΠ³ ΠΈΠΌΠ΅Π½Π° ΠΈ Π»ΠΎΠ·ΠΈΠ½ΠΊΠ΅. ΠΡΠΈΡΠ°Π²Π° ΠΈ Π»ΠΎΠ·ΠΈΠ½ΠΊΠ° ΡΠ΅ Π±ΠΈΡΠΈ ΠΎΠ΄ΠΎΠ±ΡΠ΅ΡΠ΅ Π·Π° ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ. ΠΠΎΡΠΈΡΠ½ΠΈΠΊ (Π²Π»Π°ΡΠ½ΠΈΠΊ ΡΠ΅ΡΡΡΡΠ°) β ΠΏΡΠΎΠ³ΡΠ°ΠΌ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±Π° ΠΊΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΠ΄ΠΎΠ±ΡΠΈ ΠΏΡΠΈΡΡΡΠΏ Π·Π°ΡΡΠΈΡΠ΅Π½ΠΈΠΌ ΡΠ΅ΡΡΡΡΠΈΠΌΠ°, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ½ΠΎΡΠ΅ΡΠ΅ΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΠ³ ΠΈΠΌΠ΅Π½Π° (ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΎΠ³ ΠΈΠΌΠ΅Π½Π°) ΠΈ Π»ΠΎΠ·ΠΈΠ½ΠΊΠ΅ (Π»ΠΎΠ·ΠΈΠ½ΠΊΠ΅);
ΠΠ»ΠΈΡΠ΅Π½ΡΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π°Ρ ΡΠ΅Π²Π° ΠΏΡΠΈΡΡΡΠΏΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ ΠΎΠ΄
IdentityServer4ΠΏΡΡΠΆΠ°ΡΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎ ΡΠ΅Π±ΠΈ (client_id,client_secret), Π΄ΠΎΠ΄Π΅ΡΠΈΠ²Π°ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ° (username,password) ΠΈ ΠΎΠ±Π΅Π·Π±Π΅ΡΠΈΠ²Π°ΡΠ΅grant_typeΠΈscope. ΠΠ°ΡΠΈΠΌ Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΠΎΠ½ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠ°Π²Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠ½ΠΎΡΡ ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ° ΠΈ Π΄Π΅ΡΠ°ΡΠ΅ ΠΎ Π²Π»Π°ΡΠ½ΠΈΠΊΡ ΡΠ΅ΡΡΡΡΠ° (Π»ΠΎΠ³ΠΈΠ½ ΠΈ Π»ΠΎΠ·ΠΈΠ½ΠΊΠ°).ΠΠΡΡΡ 2.0 ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎΡΠ²ΡΡΡΡΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠ½ΠΎΡΡ Π½Π΅ ΡΠ°ΠΌΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ°, Π²Π΅Ρ ΠΈ ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΠ° ΠΏΡΠΈΡΡΡΠΏΠ° ΡΠ΅ΡΡΡΡΠΈΠΌΠ°. Π£ ΡΡ ΡΠ²ΡΡ Ρ, ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΎΠ±Π΅Π·Π±Π΅ΡΡΡΠ΅ ΡΠ°ΠΊΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΊΠ°ΠΎ ΠΠ ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ° ΠΈ ΡΠ»ΠΈΠ΅Π½Ρ_ΡΠ΅ΡΡΠ΅Ρ.
ΠΠ ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ° ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈIdentityServer4Π·Π° ΡΡΠ°ΠΆΠ΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎ ΠΊΠ»ΠΈΡΠ΅Π½ΡΡ.
ΡΠ»ΠΈΠ΅Π½Ρ_ΡΠ΅ΡΡΠ΅Ρ ΡΠ΅ Π°Π½Π°Π»ΠΎΠ³Π½Π° Π»ΠΎΠ·ΠΈΠ½ΠΊΠΈ Π·Π° ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅ Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½Π°IdentityServer4. Π’Π°ΡΠ½Π° ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ° ΡΡΠ΅Π±Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΠΎΠ·Π½Π°ΡΠ° ΡΠ°ΠΌΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΈ ΠΈ ΠΠΠ-ΡΡ. ΠΠ° ΠΎΡΠ½ΠΎΠ²Ρ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ Π·Π°ΠΊΡΡΡΡΡΠ΅ΠΌΠΎ Π΄Π° ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠ‘Π΅ΡΠ²Π΅Ρ4 ΡΡΠ΅Π±Π° Π΄Π° Π·Π½Π° ΠΎ ΡΠ²ΠΎΡΠΈΠΌ ΠΊΠ»ΠΈΡΠ΅Π½ΡΠΈΠΌΠ°.ΠΠΊΠΎ ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»Π° Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ ΡΠ΅ Π²Π°ΠΆΠ΅ΡΠ°,
IdentiryServer4ΡΡΠ²Π°ΡΠ°access-ΡΠΎΠΊΠ΅Π½(ΡΠΎΠΊΠ΅Π½ Π·Π° ΠΏΡΠΈΡΡΡΠΏ) Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ ΠΈ ΠΎΠΏΡΠΈΠΎΠ½ΠΈ ΠΊΡΡΡ Π·Π° ΠΎΡΠ²Π΅ΠΆΠ°Π²Π°ΡΠ΅ (refresh-ΡΠΎΠΊΠ΅Π½). ΠΡΠΎΡΠ΅Ρ Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΠ΅ ΡΠ΅ Π·Π°Π²ΡΡΠ΅Π½. ΠΠΊΠΎ ΡΠ΅ Π·Π°Ρ ΡΠ΅Π² Π½Π΅Π²Π°ΠΆΠ΅ΡΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠ²Π»Π°ΡΡΠ΅Π½, ΡΠ΅ΡΠ²Π΅Ρ Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ Π²ΡΠ°ΡΠ° ΠΊΠΎΠ΄ ΡΠ° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠΎΠΌ ΠΏΠΎΡΡΠΊΠΎΠΌ ΠΎ Π³ΡΠ΅ΡΡΠΈ.ΠΠ»ΠΈΡΠ΅Π½ΡΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΡΠΈΡΡΡΠΏΠ° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΠΌ Π²Π΅Π± ΠΠΠ-ΡΡ Π·Π° ΠΏΠΎΠ΄Π°ΡΠΊΠ΅, ΠΎΠ±Π΅Π·Π±Π΅ΡΡΡΡΡΠΈ ΠΏΡΠΈΡΡΡΠΏΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ. ΠΠΊΠΎ ΠΊΠΎΠ΄ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ΅ΡΡΡΡΠ° , ΠΈΠ»ΠΈ , ΠΎΠ½Π΄Π° ΡΠ΅ ΡΠΎΠΊΠ΅Π½ Π·Π° ΠΏΡΠΈΡΡΡΠΏ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ Π½Π΅Π²Π°ΠΆΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΈΡΡΠ΅ΠΊΠ°ΠΎ.
ΠΠΊΠΎ ΡΠ΅ ΡΠΎΠΊΠ΅Π½ Π²Π°Π»ΠΈΠ΄Π°Π½,
Web APIΠ΄Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΈ.
ΠΡΡΡΠ΅ ΡΠΎΠΊΠ΅Π½Π°
Π Π΅Π³ΠΈΡΡΡΠΎΠ²Π°Π½ Ρ IdentityServer4 ΠΊΠ»ΠΈΡΠ΅Π½ΡΠΈΠΌΠ° ΡΠ΅ Π΄ΠΎΠ·Π²ΠΎΡΠ΅Π½ΠΎ Π΄Π° ΡΡΠ°ΠΆΠ΅ IdentityServer4 identity- ΠΆΠ΅ΡΠΎΠ½, access-ΠΆΠ΅ΡΠΎΠ½ ΠΈ refresh-ΡΠΎΠΊΠ΅Π½.
- ΡΠΎΠΊΠ΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ΅ΡΠ° (ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½ΠΈ ΡΠΎΠΊΠ΅Π½) β ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅. Π‘Π°Π΄ΡΠΆΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΠ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ ΠΎ ΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΠΈ ΠΊΠ°Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠΎΠ²Π°Π½. ΠΠΎΠΆΠ΅ΡΠ΅ Π³Π° ΠΏΡΠΎΡΠΈΡΠΈΡΠΈ ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΈΠΌ ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ°.
- ΠΏΡΠΈΡΡΡΠΏΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ β ΡΠ΅ ΠΏΡΠ΅Π½ΠΎΡΠΈ Π·Π°ΡΡΠΈΡΠ΅Π½ΠΎΠΌ ΠΠΠ-ΡΡ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ Π³Π° Π΄Π° ΠΎΠ²Π»Π°ΡΡΠΈ (Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΡΠΈΡΡΡΠΏ) ΡΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ°.
- ΡΠ΅ΡΡΠ΅ΡΡ -ΡΠΎΠΊΠ΅Π½ (ΡΠΎΠΊΠ΅Π½ Π·Π° ΠΎΡΠ²Π΅ΠΆΠ°Π²Π°ΡΠ΅) ΡΠ΅ ΠΎΠΏΡΠΈΠΎΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ ΠΊΠΎΡΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ°ΡΠΈ ΠΊΠ°ΠΎ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ Π½Π° Π·Π°Ρ ΡΠ΅Π² ΡΠΎΠΊΠ΅Π½Π° Π·Π° ΠΏΡΠΈΡΡΡΠΏ.
Π₯Π°ΡΠ΄Π΅ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌΠΎ ΡΠΎΡ Π΄Π²Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠ°:
Π£ΡΠ» ΡΠ΅ΡΠ²Π΅ΡΠ° Π·Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ β ΠΊΡΠ°ΡΡΠ° ΡΠ°ΡΠΊΠ° Π·Π° Π΄ΠΎΠ±ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΡΡΡΠΏΠ½ΠΎΠ³ ΠΊΡΡΡΠ°. Π‘Π²Π΅ Π·Π°Ρ ΡΠ΅Π²Π΅ Π·Π° ΠΎΠ±Π΅Π·Π±Π΅ΡΠΈΠ²Π°ΡΠ΅ ΠΈ ΠΎΠ±Π½Π°Π²ΡΠ°ΡΠ΅ ΠΏΡΠΈΡΡΡΠΏΠ½ΠΈΡ ΠΊΡΡΡΠ΅Π²Π° ΡΠ΅ΠΌΠΎ ΡΡΠΌΠ΅ΡΠΈΡΠΈ Π½Π° ΠΎΠ²Ρ Π£Π Π Π°Π΄ΡΠ΅ΡΡ.
Π£ΡΠ» ΡΠ΅ΡΡΡΡΠ° β Π£Π Π Π·Π°ΡΡΠΈΡΠ΅Π½ΠΎΠ³ ΡΠ΅ΡΡΡΡΠ° ΠΊΠΎΡΠΈ ΡΠ΅ ΠΌΠΎΡΠ° ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΈΡΠ°ΡΠΈ Π΄Π° Π±ΠΈΡΡΠ΅ ΠΌΡ ΠΏΡΠΈΡΡΡΠΏΠΈΠ»ΠΈ, ΠΏΡΠΎΡΠ»Π΅ΡΡΡΡΡΠΈ ΠΌΡ ΠΏΡΠΈΡΡΡΠΏΠ½ΠΈ ΠΊΡΡΡ Ρ Π·Π°Π³Π»Π°Π²ΡΡ Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΠ΅.
ΠΠ°Ρ ΡΠ΅Π² Π·Π° ΠΏΡΠΈΡΡΡΠΏΠ½ΠΈ ΠΊΡΡΡ
ΠΠ° Π±ΠΈ Π·Π°ΡΡΠ°ΠΆΠΈΠΎ ΠΏΡΠΈΡΡΡΠΏΠ½ΠΈ ΠΊΡΡΡ, ΠΊΠ»ΠΈΡΠ΅Π½Ρ ΡΠΎ ΡΠΈΠ½ΠΈ POST Π·Π°Ρ
ΡΠ΅Π² Π΄ΠΎ ΠΊΡΠ°ΡΡΠ΅ ΡΠ°ΡΠΊΠ΅ IdentityServer4 ΡΠ° ΡΠ»Π΅Π΄Π΅ΡΠΈΠΌ Π½Π°ΡΠ»ΠΎΠ²ΠΎΠΌ
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json',
'Expect': '100-continue'ΠΈ ΠΏΡΠΎΡΠ»Π΅ΡΠΈΠ²Π°ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°ΡΠ°:
'grant_type' : 'password',
'username' : login,
'password' : password,
'scope' : 'scope',
'client_id' : 'client_id',
'client_secret' : '{client_secret}'username, password, client_id ΠΈ client_secret ΠΎ ΠΊΠΎΡΠΈΠΌΠ° ΡΠ΅ Π±ΠΈΠ»ΠΎ ΡΠ΅ΡΠΈ Π³ΠΎΡΠ΅. ΠΠΎΠ³Π»Π΅Π΄Π°ΡΠΌΠΎ ΠΏΡΠ΅ΠΎΡΡΠ°Π»Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅:
Π³ΡΠ°Π½Ρ_ΡΠΈΠΏΠ΅ β ΡΠΈΠΏ ΠΎΠ΄ΠΎΠ±ΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΡΠΈΠΏ ΠΎΠ²Π»Π°ΡΡΠ΅ΡΠ°. Π’ΠΈΠΏ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ Π·Π°Π²ΠΈΡΠΈ ΠΎΠ΄ ΠΌΠ΅ΡΠΎΠ΄Π΅ Π·Π°Ρ
ΡΠ΅Π²Π° Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ ΠΊΠΎΡΡ ΠΊΠΎΡΠΈΡΡΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°, ΠΊΠ°ΠΎ ΠΈ ΠΎΠ΄ ΡΠΎΠ³Π° ΠΊΠΎΡΠ΅ ΡΠΈΠΏΠΎΠ²Π΅ Π΄ΠΎΠ·Π²ΠΎΠ»Π° ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° ΠΠΠ. Π£ Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎ ΡΠ΅ Π±ΠΈΡΠΈ Π²Π°ΠΆΠ½ΠΎ password, ΡΡΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΈ OAuth 2.0 ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ° Π΄Π΅ΡΠ°ΡΠΈΠΌΠ° ΠΎ Π΄ΠΎΠ΄Π΅Π»ΠΈ ΠΏΡΠΈΡΡΡΠΏΠ° Π²Π»Π°ΡΠ½ΠΈΠΊΠ° ΡΠ΅ΡΡΡΡΠ° (ΠΎΠ²Π»Π°ΡΡΠ΅ΡΠ΅ ΠΏΡΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠ½-Π° ΠΈ Π»ΠΎΠ·ΠΈΠ½ΠΊΠ΅).
ΠΡΠΎΡΠΎΠΊΠΎΠ» OAuth 2.0 Π΄Π΅ΡΠΈΠ½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅ Π²ΡΡΡΠ΅ Π΄ΠΎΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ΅ Π·Π°Ρ
ΡΠ΅Π²Π°ΡΡ ΠΎΠ±Π°Π²Π΅Π·Π½Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠ° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΠΌΠ°:
- ΠΊΠΎΠ΄ Π·Π° Π΄ΠΎΠ·Π²ΠΎΠ»Ρ. Π’ΠΎ ΡΠ΅ ΡΠ΅Π΄Π½Π° ΠΎΠ΄ Π½Π°ΡΡΠ΅ΡΡΠΈΡ Π²ΡΡΡΠ° Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ Π·Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΡ, ΡΠ΅Ρ ΠΏΠΎΠ³ΠΎΠ΄Π°Π½ Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π³Π΄Π΅ ΠΈΠ·Π²ΠΎΡΠ½ΠΈ ΠΊΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΈ ΡΠ°ΡΠ½Π° ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ° Π½ΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΈ Π°ΡΡΡΠ°ΡΠ΄Π΅ΡΠΈΠΌΠ°;
- ΠΈΠΌΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ. Π’ΠΈΠΏ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ ΠΈΠΌΠΏΠ»ΠΈΡΠΈΡΠ½Π΅ Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»Π½Π΅ ΠΈ Π²Π΅Π± Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π³Π΄Π΅ ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π³Π°ΡΠ°Π½ΡΠΎΠ²Π°ΡΠΈ ΠΏΠΎΠ²Π΅ΡΡΠΈΠ²ΠΎΡΡ ΡΠ°ΡΠ½Π΅ ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ°;
Π Π²ΡΡΡΠ΅ Π³ΡΠ°Π½ΡΠΎΠ²Π° ΠΊΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈΡΠΈ Π±Π΅Π· ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠ°:
- ΠΏΠΎΠ΄Π°ΡΠΈ ΠΎ Π²Π»Π°ΡΠ½ΠΈΠΊΡ ΡΠ΅ΡΡΡΡΠ°. ΠΠ²Π° Π²ΡΡΡΠ° Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ ΡΡΠ΅Π±Π° Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ°ΠΌΠΎ Π°ΠΊΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠ° Ρ ΠΊΠ»ΠΈΡΠ΅Π½ΡΡΠΊΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΡ ΠΈ Π°ΠΊΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΡΠΏΡΠ΅ΠΌΠ°Π½ Π΄Π° ΡΠ½Π΅ΡΠ΅ ΡΠ²ΠΎΡΡ ΠΏΡΠΈΡΠ°Π²Ρ ΠΈ Π»ΠΎΠ·ΠΈΠ½ΠΊΡ. ΠΠ²Π°Ρ ΡΠΈΠΏ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ ΡΡΠ΅Π±Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΡΠ°ΠΌΠΎ ΠΊΠ°Π΄Π° Π΄ΡΡΠ³Π΅ ΠΎΠΏΡΠΈΡΠ΅ Π½ΠΈΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π΅. ΠΠ²Π° Π²ΡΡΡΠ° Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ ΡΠ΅ ΠΏΠΎΠ³ΠΎΠ΄Π½Π° Π·Π° ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½Π΅ ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ΅ ΠΊΠΎΡΠΈ ΡΡ Π²Π΅Ρ ΠΊΠΎΡΠΈΡΡΠΈΠ»ΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠ΅ Π°ΠΊΡΠ΅Π΄ΠΈΡΠΈΠ²Π΅ Ρ ΡΠ²ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΆΠ΅Π»Π΅ Π΄Π° ΠΏΡΠ΅ΡΡ Π½Π°
OAuth 2.0. - Π°ΠΊΡΠ΅Π΄ΠΈΡΠΈΠ²Π΅ ΠΊΠ»ΠΈΡΠ΅Π½ΡΠ°. ΠΠΎΡΠΈΡΡΠΈ ΡΠ΅ ΠΊΠ°Π΄Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΡΠΈΡΡΡΠΏΠ° ΠΠΠ-ΡΡ. ΠΠ²ΠΎ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΠΊΠΎΡΠΈΡΠ½ΠΎ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°Π΄Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΆΠ΅Π»ΠΈ Π΄Π° Π°ΠΆΡΡΠΈΡΠ° ΡΠΎΠΏΡΡΠ²Π΅Π½Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ΅ ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΠΈ ΡΡΠ»ΡΠ³Π΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΡΡΠΌΠ΅ΡΠΈ Π£Π Π, ΠΈΠ»ΠΈ Π΄Π° ΠΏΡΠΈΡΡΡΠΏΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΠΌΠ° ΡΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅Π½ΠΈΠΌ Π½Π° Π½Π°Π»ΠΎΠ³Ρ ΡΡΠ»ΡΠ³Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΏΡΠ΅ΠΊΠΎ ΠΠΠ-ΡΠ° ΡΡΠ»ΡΠ³Π΅.
ΠΎΠ±ΠΈΠΌ - ΠΠ²ΠΎ ΡΠ΅ ΠΎΠΏΡΠΈΠΎΠ½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΠ°Ρ. ΠΠ΅ΡΠΈΠ½ΠΈΡΠ΅ ΠΎΠ±ΠΈΠΌ. ΠΡΠΈΡΡΡΠΏΠ½ΠΈ ΡΠΎΠΊΠ΅Π½ ΠΊΠΎΡΠΈ Π²ΡΠ°ΡΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΡΠΈ ΠΏΡΠΈΡΡΡΠΏ ΡΠ°ΠΌΠΎ ΡΡΠ»ΡΠ³Π°ΠΌΠ° ΠΊΠΎΡΠ΅ ΡΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠ°Ρ ΠΎΠΏΡΠ΅Π³. ΠΠ½Π΅. ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΎΠ²Π°ΡΠΈ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΡΡΠ»ΡΠ³Π° ΠΏΠΎΠ΄ ΡΠ΅Π΄Π½ΠΈΠΌ ΠΎΠΏΡΠ΅Π³ΠΎΠΌ ΠΈ Π°ΠΊΠΎ ΠΊΠ»ΠΈΡΠ΅Π½Ρ Π΄ΠΎΠ±ΠΈΡΠ΅ ΠΏΡΠΈΡΡΡΠΏΠ½ΠΈ ΠΊΡΡΡ Π·Π° ΠΎΠ²Π°Ρ ΠΎΠΏΡΠ΅Π³, Π΄ΠΎΠ±ΠΈΡΠ° ΠΏΡΠΈΡΡΡΠΏ ΡΠ²ΠΈΠΌ ΠΎΠ²ΠΈΠΌ ΡΡΠ»ΡΠ³Π°ΠΌΠ°. ΠΠΏΡΠ΅Π³ ΡΠ΅ ΡΠ°ΠΊΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΡΠ΅ ΠΏΡΠ°Π²Π° Π°ΡΡΠΎΡΠΈΠ·Π°ΡΠΈΡΠ΅ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΡΡΡΠΏ Π·Π° ΡΠΈΡΠ°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠΈΡΠ°ΡΠ΅)
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ Π°Π±Ρ.ΡΠΎΠΌ
