logologo
Başlangıç
Kılavuz
Geliştirme
Eklentiler
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Başlangıç
Kılavuz
Geliştirme
Eklentiler
API
logologo

Kullanıcı Kimlik Doğrulama

Genel Bakış
Kimlik Doğrulayıcı Yönetimi

Kimlik Doğrulama Türleri

Parola
SMS

OIDC

Yapılandırma

Örnekler

Google ile Giriş
Microsoft ile Giriş

SAML

Yapılandırma

Örnekler

Google ile Giriş
LDAP
CAS
WeChat Work
DingTalk
API Anahtarları

Geliştirici Kılavuzu

Kimlik Doğrulama Türü Genişletme
API Referansı

Doğrulama

Genel Bakış

Doğrulama Türleri

SMS
TOTP Kimlik Doğrulayıcı

Geliştirici Kılavuzu

Doğrulama Türü Genişletme
Doğrulama Senaryosu Genişletme
SMS Sağlayıcı Genişletme
API Referansı
İki Faktörlü Kimlik Doğrulama (2FA)
Previous PageKimlik Doğrulama Türü Genişletme
Next PageGenel Bakış
TIP

Bu belge AI tarafından çevrilmiştir. Herhangi bir yanlışlık için lütfen İngilizce sürümüne bakın

#API Referansı

#Sunucu Tarafı

#Auth

Çekirdek API, referans: Auth

#BaseAuth

Çekirdek API, referans: BaseAuth

#AuthModel

#Genel Bakış

AuthModel, NocoBase uygulamalarında kullanılan kimlik doğrulayıcı (Authenticator, referans: AuthManager - setStorer ve Auth - constructor) veri modelidir. Kullanıcı veri koleksiyonu ile etkileşim kurmak için bazı yöntemler sunar. Bunun yanı sıra, Sequelize Model tarafından sağlanan yöntemleri de kullanabilirsiniz.

import { AuthModel } from '@nocobase/plugin-auth';

class CustomAuth extends BaseAuth {
  async validate() {
    // ...
    const authenticator = this.authenticator as AuthModel;
    this.authenticator.findUser();
    this.authenticator.newUser();
    this.authenticator.findOrCreateUser();
    // ...
  }
}

#Sınıf Yöntemleri

  • findUser(uuid: string): UserModel - uuid aracılığıyla kullanıcıyı sorgular.

    • uuid - Mevcut kimlik doğrulama türünden gelen benzersiz kullanıcı tanımlayıcısı
  • newUser(uuid: string, userValues?: any): UserModel - Yeni bir kullanıcı oluşturur ve uuid aracılığıyla kullanıcıyı mevcut kimlik doğrulayıcıya bağlar.

    • uuid - Mevcut kimlik doğrulama türünden gelen benzersiz kullanıcı tanımlayıcısı
    • userValues - İsteğe bağlı. Diğer kullanıcı bilgileri. Geçirilmediğinde, uuid kullanıcının takma adı olarak kullanılır.
  • findOrCreateUser(uuid: string, userValues?: any): UserModel - Yeni bir kullanıcıyı bulur veya oluşturur, oluşturma kuralı yukarıdakiyle aynıdır.

    • uuid - Mevcut kimlik doğrulama türünden gelen benzersiz kullanıcı tanımlayıcısı
    • userValues - İsteğe bağlı. Diğer kullanıcı bilgileri.

#İstemci Tarafı

#plugin.registerType()

Kimlik doğrulama türünün istemcisini kaydeder.

import AuthPlugin from '@nocobase/plugin-auth/client';

class CustomAuthPlugin extends Plugin {
  async load() {
    const auth = this.app.pm.get(AuthPlugin);
    auth.registerType('custom-auth-type', {
      components: {
        SignInForm,
        // SignInButton
        SignUpForm,
        AdminSettingsForm,
      },
    });
  }
}

#İmza

  • registerType(authType: string, options: AuthOptions)

#Tip

export type AuthOptions = {
  components: Partial<{
    SignInForm: ComponentType<{ authenticator: AuthenticatorType }>;
    SignInButton: ComponentType<{ authenticator: AuthenticatorType }>;
    SignUpForm: ComponentType<{ authenticatorName: string }>;
    AdminSettingsForm: ComponentType;
  }>;
};

#Detaylar

  • SignInForm - Giriş formu
  • SignInButton - Giriş (üçüncü taraf) butonu, giriş formu yerine kullanılabilir.
  • SignUpForm - Kayıt formu
  • AdminSettingsForm - Yönetici ayarları formu

#Rota

Auth eklentisi aşağıdaki ön uç rotalarını kaydeder:

  • Auth Düzeni

    • name: auth
    • path: -
    • component: AuthLayout
  • Giriş Sayfası

    • name: auth.signin
    • path: /signin
    • component: SignInPage
  • Kayıt Sayfası

    • name: auth.signup
    • path: /signup
    • component: SignUpPage