関連:前号
私はこのモデルを定義しています:
var customer = mongoDev.createModel('customer',
{
id: {
type: String,
id: true
},
firstName: String,
lastName: String,
badge: String,
email: String
},
{
strict: true,
base: "User"
});
他に何もしなければ、予期したすべての余分なユーザー エンドポイント (ログイン、ログアウト、accessTokens など) を取得します。ただし、ログインの結果は次のとおりです。
{
"id": "ssOzK8EswH...",
"ttl": 1209600,
"created": "...",
"userId": "53c6f5d4769ed..."
}
userId は customerId である必要があるようです。models.json から user & accessToken モデルを削除しました。そのため、どこかに組み込まれていない限り、どこで関係情報を取得しているのかさえわかりません。とにかく/customer/53c6f5d4769ed...
、ヘッダーでトークンを呼び出して提供しようとすると、401 が返されます。技術的には、ID は正しく、FK 名が間違っているだけです。
私は次のようなことを試しました
var accessToken = mongoDev.createModel('accessToken',{},{base: "AccessToken"});
accessToken.belongsTo(customer, {as: 'customer', foreignKey: 'customerId'});
これにより FK 名が変更されたと思いますが、フォローアップ エンドポイントを呼び出すと、まだ 401 が返されます。
自力でたどり着いたところです。だから私の質問は実際にはこれです:
authN に「ユーザー」モデルを使用せずにコード ファーストを使用する場合、accessToken を接続するにはどうすればよいですか (これもコード ファースト)? そしてひねりを加えると、複数の認証モデル (つまり、顧客、ベンダー、従業員) を持つことを計画しています。したがって、本当の問題は、これをどのように配線して、各タイプの「ユーザー」が独自のアクセストークンを取得できるようにするかということです???
泥のように透明?? ;-)