Как передать параметр для обратного вызова fb auth в ASP.NE Core 2.1, без идентификации? - PullRequest
0 голосов
/ 04 июля 2018

Как мне передать параметр в метод 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?}");
        });
    }

Резюме, мне нужно связать социальные учетные записи с существующим профилем в моей системе.

1 Ответ

0 голосов
/ 08 июля 2018

Очень просто - вы можете передать необходимую информацию в строку запроса в перенаправлении uri

...