РСализация SSO ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ SAP Logon Ticket

SSO ΠΏΠΎΡ€Ρ‚Π°Π» ΠšΠΎΡ€Ρ‚Π΅ΠΎΡ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· SAP Logon Ticket, для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ условия:

  • Для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ завСсти справочник структурных ΠΊΠΎΠ΄ΠΎΠ² SAPID, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ слуТСбный ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² SAP, Π΄Π°Π½Π½Ρ‹ΠΉ справочник Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ ΠΊΠΎ всСм компаниям ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

  • ΠŸΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ настройки Π½Π° SSO ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ ΠšΠΎΡ€Ρ‚Π΅ΠΎΡ

Настройки ΠΏΠΎΡ€Ρ‚Π°Π»Π° для SAP Logon ticket выглядят Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Β 

Для настроСк Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ администратора SAP:

  • PSE Certificate - сСртификат, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ Ρ‚ΠΈΠΊΠ΅Ρ‚Π°, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π΅ Password. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² base64, для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΎΠ½Π»Π°ΠΉΠ½ сСрвис, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΎΠΉ - https://base64.guru/converter/encode/file

  • SAP_EXT_TRL - ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ логгирования, ставим 3 для максимально ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°

  • SAP_EXT_SYSID

  • SAP_EXT_CLIENT

ВСрификация Ρ‚ΠΈΠΊΠ΅Ρ‚Π° производится ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ssoext, которая доступно Π² маркСтплСйс SAP:

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ формирования консольной ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для запуска:

string cmd = $"-ticket {MySAPsso2} -pse {settings.PSECertificate} -t grp_{id_Group}.log -l 3 -options SAP_EXT_TRL={settings.SAP_EXT_TRL}/SAP_EXT_SYSID={settings.SAP_EXT_SYSID}/SAP_EXT_CLIENT={settings.SAP_EXT_CLIENT}"; if (settings.Password.HasValue()) cmd += $" -pwd {settings.Password}";

РСкомСндуСтся ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния локально ΠΈ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ mysapsso2 ΠΏΠ΅Ρ€Π΅Π΄ настройкой ΠΏΠΎΡ€Ρ‚Π°Π»Π°

Из Ρ‚ΠΈΠΊΠ΅Ρ‚Π° извлСкаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ User, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ присвоСно Π² качСствС структурного ΠΊΠΎΠ΄Π° Ρ‚ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½ Π² систСмС ΠšΠΎΡ€Ρ‚Π΅ΠΎΡ

ΠŸΡ€ΠΈ создании ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° Π»Π΅Ρ‚Ρƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ/ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² систСмС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ запроса Set Π²Π΅Π±-сСрвиса SSO-ΠΏΠΎΡ€Ρ‚Π°Π»Π°: https://prd.sso.corteos.ru/Documentation/GeneralWebService, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ Π² систСму, Π² качСствС основного ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ критСрия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля User.

Для тСстирования SSO ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ(доступна послС настройки SSO): https://prd.sso.corteos.ru/SAPAuth/Demo

ВсС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ вмСстС ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠ³ΠΎ HTTP POST Π½Π° адрСс /SAPAuth SSO ΠΏΠΎΡ€Ρ‚Π°Π»Π°, Π½ΠΈΠΆΠ΅ описан Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:

  • mysapsso2 - sap logon ticket

  • id_Group - константа, присваиваСтся администратором ΠšΠΎΡ€Ρ‚Π΅ΠΎΡ ΠΈ Π½Π΅ мСняСтся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

  • requestID - CorteosId ΠΈΠ· ΠΎΡ‚Π²Π΅Ρ‚Π° Π²Π΅Π±-сСрвиса Set.

Β