1

私は ngx-admin を使用しています。これまでのところ、ダッシュボードに表示される必要なページを作成できましたが、起動時にログイン ページが表示されるように認証モジュールを構成しようとしています。ユーザーとログイン後、ユーザーはダッシュボードページにリダイレクトされますが、認証モジュールは星雲テーマで作成され、すべてのファイルは宣言ファイルです。auth.module.d.tsこれらのファイルにこの d があるため、そこに関数を書き込むことができず、firebase でログインを構成する必要もあります。これまでのところ、起動時にログイン ページを表示できましたが、これらのファイルを構成して通信を開始する必要があります。 firebaseサーバーとログインが機能し始めます。必要なfirebaseパッケージはすでにインストールしています。だから今、サービスを作成する必要がある方法と場所がわかりません ここに私の認証モジュールファイルのいくつかがあります

auth.component.d.ts

import { OnDestroy } from '@angular/core';
import { Location } from '@angular/common';
import { NbAuthService } from '../services/auth.service';
export declare class NbAuthComponent implements OnDestroy {
    protected auth: NbAuthService;
    protected location: Location;
    private alive;
    subscription: any;
    authenticated: boolean;
    token: string;
    constructor(auth: NbAuthService, location: Location);
    back(): boolean;
    ngOnDestroy(): void;
}

login.component.d.ts

import { ChangeDetectorRef } from '@angular/core';
import { Router } from '@angular/router';
import { NbAuthSocialLink } from '../../auth.options';
import { NbAuthService } from '../../services/auth.service';
export declare class NbLoginComponent {
    protected service: NbAuthService;
    protected options: {};
    protected cd: ChangeDetectorRef;
    protected router: Router;
    redirectDelay: number;
    showMessages: any;
    strategy: string;
    errors: string[];
    messages: string[];
    user: any;
    submitted: boolean;
    socialLinks: NbAuthSocialLink[];
    rememberMe: boolean;
    constructor(service: NbAuthService, options: {}, cd: ChangeDetectorRef, router: Router);
    login(): void;
    getConfigValue(key: string): any;
}

auth.service.d.ts

import { Observable } from 'rxjs';
import { NbAuthStrategy } from '../strategies/auth-strategy';
import { NbAuthResult } from './auth-result';
import { NbTokenService } from './token/token.service';
import { NbAuthToken } from './token/token';
/**
 * Common authentication service.
 * Should be used to as an interlayer between UI Components and Auth Strategy.
 */
export declare class NbAuthService {
    protected tokenService: NbTokenService;
    protected strategies: any;
    constructor(tokenService: NbTokenService, strategies: any);
    /**
     * Retrieves current authenticated token stored
     * @returns {Observable<any>}
     */
    getToken(): Observable<NbAuthToken>;
    /**
     * Returns true if auth token is present in the token storage
     * @returns {Observable<boolean>}
     */
    isAuthenticated(): Observable<boolean>;
    /**
     * Returns true if valid auth token is present in the token storage.
     * If not, calls the strategy refreshToken, and returns isAuthenticated() if success, false otherwise
     * @returns {Observable<boolean>}
     */
    isAuthenticatedOrRefresh(): Observable<boolean>;
    /**
     * Returns tokens stream
     * @returns {Observable<NbAuthSimpleToken>}
     */
    onTokenChange(): Observable<NbAuthToken>;
    /**
     * Returns authentication status stream
     * @returns {Observable<boolean>}
     */
    onAuthenticationChange(): Observable<boolean>;
    /**
     * Authenticates with the selected strategy
     * Stores received token in the token storage
     *
     * Example:
     * authenticate('email', {email: 'email@example.com', password: 'test'})
     *
     * @param strategyName
     * @param data
     * @returns {Observable<NbAuthResult>}
     */
    authenticate(strategyName: string, data?: any): Observable<NbAuthResult>;
    /**
     * Registers with the selected strategy
     * Stores received token in the token storage
     *
     * Example:
     * register('email', {email: 'email@example.com', name: 'Some Name', password: 'test'})
     *
     * @param strategyName
     * @param data
     * @returns {Observable<NbAuthResult>}
     */
    register(strategyName: string, data?: any): Observable<NbAuthResult>;
    /**
     * Sign outs with the selected strategy
     * Removes token from the token storage
     *
     * Example:
     * logout('email')
     *
     * @param strategyName
     * @returns {Observable<NbAuthResult>}
     */
    logout(strategyName: string): Observable<NbAuthResult>;
    /**
     * Sends forgot password request to the selected strategy
     *
     * Example:
     * requestPassword('email', {email: 'email@example.com'})
     *
     * @param strategyName
     * @param data
     * @returns {Observable<NbAuthResult>}
     */
    requestPassword(strategyName: string, data?: any): Observable<NbAuthResult>;
    /**
     * Tries to reset password with the selected strategy
     *
     * Example:
     * resetPassword('email', {newPassword: 'test'})
     *
     * @param strategyName
     * @param data
     * @returns {Observable<NbAuthResult>}
     */
    resetPassword(strategyName: string, data?: any): Observable<NbAuthResult>;
    /**
     * Sends a refresh token request
     * Stores received token in the token storage
     *
     * Example:
     * refreshToken('email', {token: token})
     *
     * @param {string} strategyName
     * @param data
     * @returns {Observable<NbAuthResult>}
     */
    refreshToken(strategyName: string, data?: any): Observable<NbAuthResult>;
    /**
     * Get registered strategy by name
     *
     * Example:
     * getStrategy('email')
     *
     * @param {string} provider
     * @returns {NbAbstractAuthProvider}
     */
    protected getStrategy(strategyName: string): NbAuthStrategy;
    private processResultToken;
}

環境.ts

export const environment = {
  production: false,
  firebase: {
    apiKey: "--------------------------------------",
    authDomain: "xxxxxxxxxxxxx.firebaseapp.com",
    databaseURL: "https://----------.firebaseio.com",
    projectId: "xxxxxxxxx-bde65",
    storageBucket: "",
    messagingSenderId: "xxxxxxxxxxxxxx",
  }
};

PS 書く必要があるコードが多すぎる場合は、どのように書く必要があるかを説明していただけますが、少しでも私を助けることができれば、それも素晴らしいことです。

4

1 に答える 1