【问题标题】:Can we use oauth to openid connect in ASP.NET (VB.NET )?我们可以使用 oauth 在 ASP.NET (VB.NET) 中打开 ID 连接吗?
【发布时间】:2020-08-23 17:32:48
【问题描述】:

过去一周我一直在努力使用 openid connect 和 asp.net (vb.net) 创建示例应用程序。

不知何故,我已将一个 C# MVC(带有 identityserver3 )示例转换为 vb.net,但现在它的登录页面无法正常工作,因为它在运行时呈现。

现在让我们来谈谈最可怕的问题。我们可以在 vb.not 中使用身份服务器使用 openid 连接吗?在网络表单中?

这与我想要实现的相同 - MVC Authentication

我只是想实现以下目标-

用户通过oauth2 & openid 登录连接 登录后使用 openid connect 访问只返回一些字符串的 webapi。

【问题讨论】:

    标签: vb.net asp.net-web-api oauth-2.0 openid-connect identityserver3


    【解决方案1】:

    所以 Identity Server 托管在中间件中,

    所以你必须打开它并添加某种启动文件,

    我不知道 owin 是如何与 vb 一起工作的,但我确信它可以很好地结合起来。

    我目前正在一个带有 C# 代码的 webforms 项目中使用 Identity Server。

    为了让它工作,我必须打开 owin 中间件

    然后修改web.config:

    我已将此添加到 appSettings

    <add key="Authority" value="whatever you set as you ids host in the other middleware" />
    

    并撕掉所有表单身份验证的东西

    同时删除您在 system.web 中的所有授权内容

    然后我将这个(这是 C# 代码,但我敢打赌 VB 类似)添加到我的登录页面:

    protected void Page_PreInit(object sender, EventArgs e)
        {
            HttpContext.Current.GetOwinContext().Authentication.Challenge(
                new AuthenticationProperties
                {
                    RedirectUri = "your application uri"
                },
                OpenIdConnectAuthenticationDefaults.AuthenticationType);
        }
    

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      如果我对您的问题的理解正确,您希望在 VB 中为您的 asp.net 应用程序提供 Open ID Connect 解决方案。您可以通过将 Identity Server 与您的 VB 应用程序一起托管为单独的服务来实现此目的。您不需要将身份服务器转换为 VB。建议将身份服务作为一个单独的应用程序使用,因此它可以采用任何自己的技术。

      希望这会有所帮助。如果您有任何其他问题,请告诉我。

      谢谢, 索玛。

      【讨论】:

      • 是的,现在我明白了。你能告诉我在 vb.net 哪里可以得到这样的样本吗?
      • 我可以为您指出有关如何托管身份服务器和进行身份验证设置的资源。 C# 中有一些关于如何使用身份服务器的示例,但我不确定在 VB 中。请检查身份服务器文档以获取任何此类示例。 Here 是关于如何使用 Identity Server 的来源。
      猜你喜欢
      • 2012-11-28
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-17
      • 2011-02-19
      相关资源
      最近更新 更多