Przejdź do treści

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

  1. Potrzebujesz konta Dentra z dostępem Developer: poproś o niego w /app, w pozycji «Developer» menu konta.
  2. 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.
  3. Dostajesz kod aplikacji (client_id). Strona dostaje też sekret, widoczny tylko raz. Aplikacja desktopowa nie ma sekretu: chroni ją PKCE.
  4. 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.
  5. 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.