İçeriğe geç
Belgeler · Çalışma alanları, yayıncılar ve belirteçler

Kavramlar

Birkaç fikir, Usher’daki neredeyse her şeyi açıklar: şeylerin nerede durduğu, belirteçleri kimin verdiği, insanların nerede giriş yaptığı ve her belirtecin ne kadar geçerli olduğu.

Çalışma alanları, projeler ve ortamlar

  • Çalışma alanı, Usher Console’daki ekibiniz ya da şirketinizdir. Üyeleri ve denetim günlüğü ona aittir.
  • Proje, tek bir üründür: web uygulamanız ya da bir iş ortağı portalı. Bir çalışma alanında birçok proje olabilir.
  • Ortam, bir projenin çalışan bir kopyasıdır; genellikle geliştirme ve üretim. Kişiler, uygulamalar, anahtarlar ve ayarlar ortamlarda durur.

Çalışma alanı · Acme Ltd

Proje · Web

  • development · wise-otter-42
  • production · acme

Proje · İş ortağı portalı

  • development · calm-heron-17
  • production · acme-partners
Her ortam, kendi kullanıcıları, anahtarları ve Lobby’siyle ayrı bir yayıncıdır.

Ortamlar önemli hiçbir şeyi paylaşmaz. Her birinin kendi Postgres şeması, kendi imzalama anahtarları ve kendi veri anahtarı altında mühürlenmiş kendi gizli bilgileri vardır. Geliştirme ortamında kaydolan bir kişi üretimde yoktur ve birinin belirteci asla diğerinin anahtarlarıyla doğrulanamaz.

Bir çalışma alanı yöneticisi, bir projeyi adını yazdıktan sonra Genel bakış sayfasının sonundan silebilir. İçindeki her ortam bir anda gider: kişileri, uygulamaları, anahtarları ve ayarlarıyla birlikte verdiği her oturum ve belirteç. Adresleri yanıt vermeyi bırakır ve asla yeniden verilmez; böylece bunlardan birine hâlâ güvenen bir uygulama, başka birinin projesiyle kandırılamaz.

Yayıncılar

Her ortam, kiracı alan adındaki kendi ana makinesinde ayrı bir OpenID Connect yayıncısıdır (issuer):

Yayıncı
https://<handle>.usherid.com
  • Üretim ortamlarının sizin seçtiğiniz bir kısa adı vardır: şirketinizin adı gibi, 3 ila 32 küçük harf, rakam ve tek kısa çizgiden oluşur. Bir kez kullanılmış bir kısa ad asla yeniden verilmez.
  • Geliştirme ortamları, kimsenin bir markayla karıştırmayacağı wise-otter-42 gibi rastgele bir kısa ad alır.

Yayıncı, ortam oluşturulurken sabitlenir; çünkü imzaladığı her belirteç onu iss içinde adlandırır ve ona güvenen her uygulama bu değeri denetler.

Kiracı alan adı, Usher’ın kendi alan adından (usheridentity.com) farklı, kayıt edilebilir bir alan adıdır; bu yüzden bir müşterinin giriş sayfaları Usher Console ile asla aynı sitede (same-site) olmaz. Çerezler de yalnızca kendi ana makinelerine aittir: tarayıcı bir ortamın çerezlerini yalnızca o ortama gönderir.

Lobby

Lobby, her ortamın kendi yayıncısında barındırdığı giriş sayfasıdır. Uygulamanız insanları oraya gönderir; Lobby onların girişini yapar ve onları geri gönderir.

  • Kişinin gittiği uygulamayı her zaman “Gideceğiniz yer” etiketinde adıyla söyler.
  • Yalnızca ortamın izin verdiği yöntemleri sunar: geçiş anahtarları, e-postayla gönderilen kodlar, sihirli bağlantılar, sosyal hesaplar (Google, GitHub, Microsoft, Apple) ve parolalar.
  • İkinci bir faktör isteyebilir: bir kimlik doğrulama uygulaması (yedek kodlarıyla) ya da bir geçiş anahtarı.
  • Herkese açık olabilir ya da adreslerden ve alan adlarından oluşan bir davetli listesiyle sınırlanabilir.

Kişiyi hangi ürün gönderirse göndersin aynı görünür. Bu bilinçli bir tercihtir: insanlar gerçek bir Lobby’nin neye benzediğini öğrenir ve bir sayfa Lobby değilse bunu fark eder.

Usher hesapları

Çoğu ortamın kendi kullanıcıları vardır. Usher hesapları farklıdır: Usher ile devam et düğmesini sunan her uygulamaya bir kişinin girişini sağlayan tek bir hesap. İnsanlar hesaplarını account.usheridentity.com adresinde yönetir.

Belirteçler ve geçerlilik süreleri

BelirteçVarsayılanAyarlanabilir aralıkNe işe yarar?
Yetkilendirme kodu5 dakikaSabitBir kez belirteçlerle değiştirilir. Tek kullanımlık.
Kimlik belirteci10 dakika1–60 dakikaUygulamanıza kimin giriş yaptığını söyler. API çağırmak için değildir.
Erişim belirteci10 dakika1–60 dakikaAPI’nize gönderilir, API’niz onu denetler.
Yenileme belirteci30 gün1–90 günYeni erişim belirteçleri alır. Her kullanımda yenisiyle değişir. offline_access gerekir.
Makine erişim belirteci15 dakika1–60 dakikaclient_credentials için: arkasında bir kişi olmayan sunucular.
E-postayla gönderilen kod, sihirli bağlantı10 dakikaSabitTek bir giriş. Bir kod üç deneme hakkı tanır.

Lobby’deki oturumların da geçerlilik süreleri vardır: bir oturum 7 gün kullanılmazsa (1–30) ve toplamda 30 gün sonra (1–90) sona erer. E-posta adresi gibi hassas bir şeyi değiştirmek, son 10 dakika içinde yapılmış bir giriş gerektirir.

İmzalama anahtarları

Belirteçler varsayılan olarak RS256 ile imzalanır; bir ortam bunun yerine ES256 ya da EdDSA kullanabilir. Genel anahtarlar ortamın jwks_uri adresinde yayımlanır; böylece kütüphaneleriniz onları kendisi alır ve anahtarlar döndürüldüğünde yenilerini de alır.

Kapsamlar

KapsamUygulamanızın aldığı
openidZorunlu. Kişinin sub değerini içeren bir kimlik belirteci.
profileAdı ve resmi.
emailE-posta adresi ve doğrulanıp doğrulanmadığı.
offline_accessOturumun açık kalması için bir yenileme belirteci.