| Termin | Definicja |
|---|---|
| Pizzly (OAuth middleware) | Pizzly to otwarte oprogramowanie pośredniczące, upraszczające obsługę uwierzytelniania OAuth w integracjach. Pizzly jako warstwa pośrednia dla integracji OAuthPizzly to otwarte oprogramowanie działające jako proxy integracyjne dla aplikacji korzystających z zewnętrznych interfejsów API. Jego zadaniem jest przejęcie powtarzalnych elementów procesu autoryzacji OAuth, takich jak przekierowanie użytkownika do dostawcy usługi, odebranie kodu autoryzacyjnego, wymiana kodu na token oraz dołączanie właściwych danych uwierzytelniających do późniejszych żądań HTTP. Aplikacja wykorzystująca Pizzly nie musi implementować osobno całej logiki dla GitHuba, Slacka, Google Sheets, Salesforce czy innych usług. Dla każdego dostawcy definiuje się konfigurację integracji zawierającą między innymi adres autoryzacji, adres punktu tokenowego, typ OAuth, zakresy uprawnień i sposób budowania żądania do API. Pizzly nie jest dostawcą kont użytkowników ani samodzielnym systemem tożsamości. Nie zastępuje też właściwego API zewnętrznej usługi. Pełni rolę pośrednika pomiędzy aplikacją, użytkownikiem i dostawcą API. W typowym układzie instancja Pizzly udostępnia panel konfiguracji, usługę obsługującą proces OAuth, proxy do wykonywania uwierzytelnionych żądań oraz interfejs API. Dzięki temu aplikacja kliencka może korzystać z jednolitego sposobu komunikacji, mimo że poszczególni dostawcy stosują różne adresy, formaty odpowiedzi, typy tokenów i wymagane nagłówki. Przebieg połączenia użytkownika z zewnętrznym APIW bibliotece JavaScript Pizzly instancję tworzy się przez wskazanie hosta działającego serwisu, a następnie wybiera integrację po jej nazwie lub identyfikatorze, na przykład
Konfiguracja integracji, tokeny i żądania proxyKażda integracja Pizzly opiera się na konfiguracji opisującej sposób komunikacji z danym API. Dla OAuth 2 konfiguracja może wskazywać adres rozpoczęcia autoryzacji, adres wymiany kodu na token oraz parametry wysyłane podczas tych operacji. Oddzielna część konfiguracji określa bazowy adres API, nagłówki i sposób umieszczania tokenu w żądaniu. Przykładowo dostawca może wymagać nagłówka Ważną funkcją proxy jest obsługa zmiennych tokenów. Token dostępu może wygasnąć, a dostawca może wydać nowy token po użyciu tokenu odświeżającego. Dlatego trwałym identyfikatorem połączenia pozostaje Uruchomienie Pizzly i rozpoznawanie problemów integracyjnychPizzly może być uruchomione jako odrębna aplikacja na infrastrukturze, a jego architektura wykorzystuje bazę PostgreSQL do przechowywania konfiguracji i danych związanych z integracjami. Przy diagnozowaniu problemu trzeba rozdzielić kilka etapów: dostępność instancji Pizzly, poprawność konfiguracji dostawcy, działanie adresu zwrotnego, uzyskanie kodu autoryzacyjnego, wymianę kodu na token oraz wykonanie końcowego żądania do API. Błąd przekierowania zwykle wskazuje na niezgodny adres callbacku lub parametry aplikacji OAuth, natomiast odpowiedź HTTP 401 albo 403 po udanym połączeniu może oznaczać wygasły token, brak zakresu uprawnień lub nieprawidłowy sposób przekazywania poświadczeń. Na komputerze użytkownika warto sprawdzić, czy przeglądarka nie blokuje okna autoryzacji, czy adres instancji Pizzly jest osiągalny i czy aplikacja korzysta z właściwego hosta oraz klucza publikowalnego. W narzędziach deweloperskich przeglądarki można porównać żądania do Pizzly z odpowiedziami usługi, zwracając uwagę na kod HTTP, adres endpointu i komunikat błędu. W przypadku problemu po stronie serwisu nie należy usuwać identyfikatora |