Developer · OAuth 2.0
Zaloguj się przez Dentra
OAuth 2.0 i OpenID Connect: gabinety logują się do twojej aplikacji przyciskiem «Zaloguj się przez Dentra», bez kolejnego hasła. Dowiadujesz się, kim są, a za ich zgodą także dane gabinetu.
Jak to działa
«Zaloguj się przez Dentra» działa według standardów OAuth 2.0 i OpenID Connect: twoja aplikacja otwiera stronę Dentra, gabinet loguje się i wyraża zgodę na ekranie zgody, a twoja aplikacja dostaje klucze, by wiedzieć, kim jest, i czytać to, na co otrzymała zgodę.
Działa dla aplikacji desktopowych, które nie mogą przechowywać sekretu, i dla stron z serwerem. Konto Dentra należy do gabinetu: jedno konto, jeden gabinet.
Dopóki jej nie zaakceptujemy, twoja aplikacja jest w trybie testowym: otwiera się tylko twoim kontem Dentra i otrzymuje dane przykładowego gabinetu. Po akceptacji otwiera się dla wszystkich gabinetów.
Rejestracja aplikacji
- Potrzebujesz konta Dentra z dostępem Developer: poproś o niego w /app, w pozycji «Developer» menu konta.
- Na stronie Developer, zakładka «Zaloguj się przez Dentra», naciśnij «Zarejestruj aplikację» i podaj nazwę, rodzaj aplikacji, administratora danych, link do swojej informacji o prywatności, adresy powrotu i potrzebne uprawnienia.
- Dostajesz kod aplikacji (client_id). Strona dostaje też sekret, widoczny tylko raz. Aplikacja desktopowa nie ma sekretu: chroni ją PKCE.
- Prześlij logo (PNG, JPG lub WEBP, do 512 KB): pojawia się na ekranie zgody razem z nazwą administratora i linkiem do twojej informacji o prywatności, który musi być pod adresem https.
- Adresy powrotu strony używają https (http tylko na 127.0.0.1, do testów lokalnych). Adresy aplikacji desktopowej to http://127.0.0.1/<ścieżka>, bez portu i nigdy localhost, albo własny schemat. Adresy powrotu, adresy wylogowania i logo zmieniasz w dowolnej chwili; uprawnienia wybierasz przy rejestracji i potem nie można ich zmienić.
Dokument odkrywania
Adresy OAuth i OpenID Connect są też w dokumencie odkrywania; adresy API (/api/v1) nie.
- discovery
- https://dentra.it/.well-known/openid-configuration
Adresy
Zastrzeżone
Otwiera się po zalogowaniu kontem z aktywnym dostępem Developer.
Połączenie krok po kroku
Zastrzeżone
Otwiera się po zalogowaniu kontem z aktywnym dostępem Developer.
Uprawnienia
Proś tylko o to, czego potrzebujesz: ekran zgody wymienia każde uprawnienie i możesz prosić tylko o te zarejestrowane dla twojej aplikacji.
Każda aplikacja ma openid, email i profile. O openid prosisz przy każdym logowaniu: mówi, kto to jest, z identyfikatorem, który się nie zmienia. email i profile (imię) przychodzą w id_token, z userinfo i w sekcji user z /api/v1/me tylko wtedy, gdy o nie poprosisz: bez nich te pola mają wartość null.
- offline_access
- Pozostaje połączona: dostajesz też klucz odświeżania.
- clinic:read
- Gabinet: nazwa, NIP, adres, kontakty, aktywne systemy Dentra. Dodaje clinic_id do logowania.
- orders:read
- Otwarte zamówienia: numer, status, daty i rodzaj pracy. Nigdy dane pacjentów.
- preferences:read
- Preferencje kliniczne gabinetu.
- systems:read
- Systemy Dentra: jakie istnieją, które ma gabinet, w jakim planie i jak twoja aplikacja z nich korzysta (GET /api/v1/systems).
- oralsnap:model
- Korzystać z Oralsnap Model wbudowanego w twoją aplikację: skan zostaje na komputerze gabinetu.
Klucze, odświeżanie i wylogowanie
Zastrzeżone
Otwiera się po zalogowaniu kontem z aktywnym dostępem Developer.
Dane gabinetu
Zastrzeżone
Otwiera się po zalogowaniu kontem z aktywnym dostępem Developer.
Systemy Dentra w twojej aplikacji
Zastrzeżone
Otwiera się po zalogowaniu kontem z aktywnym dostępem Developer.
Subskrypcja
Zastrzeżone
Otwiera się po zalogowaniu kontem z aktywnym dostępem Developer.
Zasady i prywatność
- Gdy gabinet wyrazi zgodę, jesteś administratorem otrzymanych danych: przetwarzasz je zgodnie ze swoją informacją o prywatności, widoczną na ekranie zgody.
- Nigdy nie dostajesz danych pacjentów, plików, faktur ani wspomnień asystenta Dentra i nie możesz niczego zamówić ani zmienić w imieniu gabinetu.
- Nie przedstawiaj swojej aplikacji jako produktu Dentra: ekran zawsze mówi, do kogo należy.