29 października 2024
Autoryzacja - 30 grudnia 2024 wprowadzimy zmiany w mechanizmie PKCE
Mechanizm PKCE (Proof Key for Code Exchange), którego możesz użyć podczas autoryzacji użytkownika, pozwala zabezpieczyć aplikację przed wykorzystaniem kodu autoryzacyjnego (authorization code) przez złośliwe oprogramowanie.
30 grudnia wprowadzimy zmiany, które wpłyną na działanie aplikacji, które nie szyfrują (code_challenge_method=plain) kodu generowanego na potrzeby PKCE (code_verifier).
Jak mechanizm PKCE działa obecnie?
Aktualnie w procesie autoryzacji możesz skorzystać z jednego z dwóch sposobów szyfrowania kodu na potrzeby mechanizmu PKCE:
S256 - oznacza, że kod (“code_challenge”) będzie zahashowanym (algorytmem SHA-256) weryfikatorem (“code_verifier”):
code_challenge = BASE64URL-ENCODE(SHA256(ASCII(code_verifier)))
plain - oznacza, że kod będzie równy wartości weryfikatora:
code_challenge = code_verifier
Więcej na temat obsługi PKCE znajdziesz w naszym poradniku.
Jak mechanizm PKCE będzie działać po zmianach?
Przestaniemy wspierać “code_challenge_method=plain”, co oznacza, że aplikacja zawsze będzie musiała szyfrować “code_verifier” w ramach “code_challenge_method=S256”. Dla requestów z “code_challenge_method=plain” zaczniemy zwracać odpowiedź 400 Bad Request.
Dlaczego wprowadzamy zmianę?
Ze względu na nowy wymóg bezpieczeństwa po stronie OAuth związanym z PKCE, który mówi o tym, że jeśli aplikacja korzysta z PKCE, nie może w procesie autoryzacji ujawniać wartości weryfikatora (“code_verifier”)
Najnowsze standardy zalecają stosowanie PKCE również jako rozszerzenia podstawowego procesu autoryzacji dla wszystkich aplikacji, które korzystają z autoryzacji typu authorization code.