キー認証の側面:
ユーザー登録。
Express APIは、登録/ログイン時にJSON Webトークン(JWTS)を生成し、Angularアプリに送信します。
Angularアプリは、ユーザーセッションを管理するためにJWTを保存します。プロフィールページ(認証されたユーザーにのみアクセス可能)
Angular CLIは、ローカルサーバーの構築と実行に使用されます。 必要に応じてガイダンスについては、「Angular CLIを使用したTODOアプリの構築」チュートリアルを参照してください。
REST API構造:
でインストール)、Expressアプリを作成します。
express -v pug mean-authentication cd mean-authentication npm i npm i pug@latest npm i mongoose
元のチュートリアルで説明されているように、必要なディレクトリ構造とファイルを作成します。 app.js
、データベース接続(api/models/db.js
)、APIルート(api/routes/index.js
)、および初期コントローラースタブ(api/controllers/authentication.js
およびapi/controllers/profile.js
)が提供されます。
ファイルは、mongoose:api/models/users.js
を使用してmongodbスキーマを定義します
const mongoose = require('mongoose'); const crypto = require('crypto'); const jwt = require('jsonwebtoken'); // ... (Schema definition and setPassword, validPassword, generateJwt methods as described in the original tutorial)
メソッドは、
およびsetPassword
モジュールを使用して、直接保存せずにパスワードを安全に処理します。 validPassword
メソッドはcrypto
パッケージを使用してJWTSを作成します。
認証のためのgenerateJwt
passport.js:jsonwebtoken
:
npm i passport passport-local
api/config/passport.js
更新
// ... (Passport configuration as described in the original tutorial)
APIエンドポイント構成:app.js
および
ファイルを完了します。
api/controllers/authentication.js
Angular Appの初期化とサービス:api/controllers/profile.js
/api/profile
CLIを使用してAngularアプリを作成します
express-jwt
、
、、
)およびサービス(ng new client
を実装します。
register
角度成分とAPIの接続:login
profile
APIインタラクションを処理するためにhome
を使用して、それぞれのコンポーネントにレジスタとログインフォームを実装します。 ナビゲーションバーを更新して、ログインステータスに基づいて「サインイン」またはユーザーの名前とプロファイルリンクを動的に表示します。 角度ルートガード(authentication
)を使用してAuthenticationService
ルートを保護します。 最後に、プロファイルページを実装して、保護された
Expressサーバーにリクエストを転送するようにプロキシを構成します。 ExpressサーバーとAngularアプリを起動します。 登録、ログイン、およびプロファイルアクセスをテストします。 必要に応じてスタイリングを追加します(スタイリングの詳細については、GitHubリポジトリを参照してください)。
よくある質問(FAQ):AuthenticationService
FAQSセクションでは、他のフレームワークとの違い、角度CLIの役割、データベースオプション、データ処理、スケーラビリティ、セキュリティ、学習リソース、およびnode.jsの役割など、平均スタック開発に関する一般的な質問への回答を提供します。 答えは、簡潔さと明確さのために言い換えられます。
以上が平均スタック:AngularとAngular CLIを使用してアプリを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。