我有一个应用程序已经使用 CredentialsAuthProvider() 运行了一段时间。
今天,我想添加 twitter 和 facebook 作为人们创建帐户的选项。我已经搭好了脚手架。
//Register all Authentication methods you want to enable for this web app.
Plugins.Add(new AuthFeature(() => new AuthUserSession(),
new IAuthProvider[] {
new CredentialsAuthProvider(),
new TwitterAuthProvider(appSettings),
new FacebookAuthProvider(appSettings)
}));
//Provide service for new users to register so they can login with supplied credentials.
Plugins.Add(new CustomRegistrationFeature());
端点 /api/auth/twitter 和 /api/auth/facebook 工作,我看到一旦 OAuth 过程完成,访问 /api/auth 就会创建一个用户会话但是......
在我的 UserAuthRepository (OrmLiteAuthRepository) 中没有创建用户。会话中存储的用户 ID 无效。任何用 [Authenticate] 属性修饰的方法都会导致返回 404(未找到用户)错误。
我希望使用从 Facebook 或 Twitter 获得的 First/Last/Email 创建用户。我是不是误会了什么?
服务栈 v4.0.38