首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ASP.NET核心应用中使用社交登录时获取URL参数

在ASP.NET核心应用中使用社交登录时获取URL参数
EN

Stack Overflow用户
提问于 2017-01-09 10:10:50
回答 0查看 101关注 0票数 0

我在我的ASP.NET核心应用中使用社交媒体登录。除了几个页面之外,整个应用程序都需要对用户进行身份验证。

我有一个允许匿名用户的登录页面,并重定向到登录页面,它添加了一个URL参数,例如myapp.com/ login ?id=omeid12345

我的控制器中有三个允许用户使用其社交媒体帐户登录的操作。第一个页面只是呈现登录按钮的基本页面。在第一步中,我可以很容易地捕获Id。

代码语言:javascript
运行
复制
[AllowAnonymous]
public IActionResult Login([FromQuery] string id)
{
   // So I can capture the Id here 
}

一旦用户点击了他选择的社交媒体登录,我们就会执行以下操作:

代码语言:javascript
运行
复制
[AllowAnonymous]
public async Task ExternalLogin(string provider, string returnUrl, string myId)
{
   var properties = new AuthenticationProperties
   {
      RedirectUri = "Login/Callback"
   };

    // Add returnUrl to properties -- if applicable
    if (!string.IsNullOrEmpty(returnUrl) && Url.IsLocalUrl(returnUrl))
       properties.Items.Add("returnUrl", returnUrl);

    // Add url param Id to properties -- if applicable
    if (!string.IsNullOrEmpty(myId))
       properties.Items.Add("myId", myId);

     await HttpContext.Authentication.ChallengeAsync(provider, properties);

     return;
}

我的问题是,我如何在回调操作中获取我的Id?

代码语言:javascript
运行
复制
[AllowAnonymous]
public async Task<IActionResult> Callback()
{
   // I can get user info here once authenticated by social media provider
   var user = HttpContext.User;

   // How do I get myId?
}
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41540041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档