Как мне передать параметр в метод Challenge и прочитать его после обратного вызова facebook? Я хочу связать социальные учетные записи, а id может быть, например, идентификатором пользователя.
Пример контроллера аккаунта:
[Route("accounts/facebook/{id}")]
public IActionResult Facebook(string id)
{
var auth = new AuthenticationProperties { RedirectUri = "/accounts/facebook/callback" };
return Challenge(auth, "Facebook");
}
[Route("accounts/facebook/callback")]
public void Callback()
{
//need to read custumId
}
Пример Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services
.AddAuthentication()
.AddFacebook(x =>
{
x.AppId = "*";
x.AppSecret = "*";
x.CallbackPath = "/accounts/facebook/callback";
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseDeveloperExceptionPage();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
Резюме, мне нужно связать социальные учетные записи с существующим профилем в моей системе.