Wybór metody uwierzytelniania
Wprowadzenie
Wybór metody uwierzytelniania w aplikacji może być trudny i skomplikowany.
Projektując aplikację, zastanów się, do jakich danych musi mieć dostęp. Wszystkie dane pochodzące z konta użytkownika monday.com muszą być pobierane za pomocą monday GraphQL API.
Jeśli aplikacja uzyskuje też dostęp do danych z innych platform, uwzględnij również ich protokoły uwierzytelniania.
Jak uwierzytelnić się za pomocą monday API?
monday API korzysta z uwierzytelniania opartego na tokenach. Aby pomyślnie uwierzytelnić się za pomocą naszego GraphQL API, każde żądanie powinno zawierać token API w nagłówku żądania Authorization.
Ogólnie rzecz biorąc, aplikacja może uzyskać token dostępu na cztery sposoby:
- Bezproblemowe uwierzytelnianie za pomocą monday SDK
- Bezproblemowe uwierzytelnianie za pomocą shortTermToken
- Korzystanie z tokenu dostępu OAuth
- Korzystanie z globalnego tokenu API użytkownika
Metoda 1: bezproblemowe uwierzytelnianie
Oferujemy dwa mechanizmy bezproblemowego uwierzytelniania, które ograniczają większość zadań związanych z zarządzaniem użytkownikami i tokenami w aplikacji. Zalecamy tę metodę, jeśli aplikacja musi wykonywać wywołania API tylko wtedy, gdy użytkownik z niej korzysta.
Bezproblemowe uwierzytelnianie ma następujące zalety:
- Aplikacja nie musi przechowywać ani zarządzać kluczami API.
- Aplikacje po stronie klienta można hostować w całości na serwerach monday.
- Użytkownicy nie muszą wykonywać dodatkowych czynności, aby autoryzować aplikację ani podawać klucza API.
Bezproblemowe uwierzytelnianie w aplikacji widoku za pomocą monday SDK
Jeśli masz aplikację widoku, użyj metod SeamlessApiClient SDK, aby wykonywać wywołania API w imieniu zalogowanego użytkownika. Uwierzytelnianiem zajmie się ramka iframe, w której działa aplikacja. Nie są potrzebne żadne klucze API.
const seamlessApiClient = new SeamlessApiClient();
try {
const data = await seamlessApiClient.request(`query { boards(ids: 12345) { id name } }`);
} catch (error) {
console.log(error.response.errors)
}
Bezproblemowe uwierzytelnianie działa tylko wtedy, gdy aplikacja jest otwarta w ramce iframe. Jeśli chcesz wykonywać wywołania API po stronie serwera, użyj tokenu OAuth.
📘 WSKAZÓWKA
Jeśli chcesz wykonywać wywołania API w tle lub przesyłać pliki, zalecamy wdrożenie OAuth i uprawnień.
Bezproblemowe uwierzytelnianie w przepisach integracji za pomocą shortLivedToken
Możesz też korzystać z bezproblemowego uwierzytelniania w przepisach integracji. Każdemu żądaniu wysyłanemu z serwera monday do Twojej aplikacji będzie towarzyszyć token sieciowy JSON w nagłówku Authorization.
Po zdekodowaniu tokenu JWT zobaczysz shortLivedToken, który jest ważny przez 5 minut i może służyć do uwierzytelniania w monday.com API.
Kiedy nie mogę skorzystać z bezproblemowego uwierzytelniania?
Bezproblemowe uwierzytelnianie sprawdzi się w niemal każdym przypadku użycia aplikacji. Są jednak pewne wyjątki:
- Aplikacja musi wykonywać wywołania API bez udziału użytkownika.
- Integracja musi wykonywać wywołania API dłużej niż przez 5 minut od otrzymania żądania z serwera monday.
- Aplikacja po stronie klienta musi wykonywać wywołania API z backendu lub po stronie serwera.
Metoda 2: uzyskiwanie tokenów dostępu za pomocą OAuth
Aplikacja może też używać OAuth do uzyskiwania tokenów uwierzytelniających. OAuth umożliwia aplikacji poproszenie użytkownika o autoryzację dostępu do jego konta. Po autoryzacji aplikacja otrzymuje klucz API. OAuth to dobry wybór, jeśli aplikacja musi przechowywać token API użytkownika lub wykonywać wywołania API w tle.
Zalety OAuth:
- Użytkownicy szybko i bezproblemowo przyznają aplikacji uprawnienia.
- Możesz wykonywać wywołania API przez dłuższy czas i w tle, bez udziału użytkownika.
- Zakres tokenów jest automatycznie ograniczony do aplikacji. Nie musisz też pamiętać o usunięciu tokenu po odinstalowaniu aplikacji.
Aby wdrożyć OAuth w widoku tablicy lub widżecie pulpitu, skonfiguruj logikę w backendzie, która pobierze token dostępu (zapewniający dostęp do danych użytkownika) z naszego punktu końcowego tokenów: https://auth.monday.com/oauth2/token.
Aby wdrożyć OAuth w przepisie integracji, skonfiguruj na własnym serwerze URL autoryzacji, który rozpocznie proces uzyskiwania tokenu dostępu.
Więcej informacji o tym procesie znajdziesz w naszym artykule o OAuth i uprawnieniach.
Metoda 3: korzystanie z globalnego tokenu API użytkownika
🚧 Zatwierdzenie w marketplace
Aplikacja korzystająca z tej metody uwierzytelniania nie zostanie zatwierdzona w naszym marketplace. Więcej informacji znajdziesz tutaj.
Jeśli chcesz szybko stworzyć aplikację, stawiając łatwość tworzenia ponad bezpieczeństwo (na przykład aplikację używaną tylko przez Twój zespół), możesz przechowywać token API użytkownika. Każdy użytkownik ma globalny token API. Można go znaleźć, przechodząc do Awatara (Avatar) > karty Deweloperzy (Developers). Aplikacja może używać tego tokenu do uwierzytelniania w API.
Nie zalecamy tej metody w przypadku większości aplikacji z następujących powodów:
- Zakres tokenu API nie jest ograniczony, więc token zapewnia dostęp do wszystkich funkcji.
- Użytkownik może mieć tylko jeden token naraz. Jeśli wygeneruje nowy, aplikacja przestanie działać.
- Token API jest powiązany z konkretnym użytkownikiem. Umożliwia wykonywanie tylko tych działań, do których ten użytkownik ma uprawnienia.
📘 Dołącz do naszej społeczności deweloperów!
Stworzyliśmy społeczność dla naszych deweloperów. Możesz w niej przeszukiwać wcześniejsze tematy, aby znaleźć rozwiązania, zadawać pytania, poznawać nowe funkcje i aktualizacje oraz uczyć się wskazówek i sztuczek od innych deweloperów. Dołącz do nas! 😎