【问题标题】:Identityserver and client secrets in a blazor server appBlazor 服务器应用程序中的身份服务器和客户端机密
【发布时间】:2021-10-29 00:38:26
【问题描述】:

我有一个 Identityserver 和一个 blazor 服务器应用程序正在运行,我正在使用 code 工作流来获取我的令牌。我的 blazor 应用程序有一个秘密,但刚刚发现,当我在身份服务器中的客户端配置中省略秘密并将属性 RequireClientSecret 设置为 false 时,我也可以获得我的令牌。我可以看到,这对于您不想通过 webapp 传输秘密的纯 JavaScript 应用程序是必需的。这是否也适用于 blazor 服务器应用程序?我想不会,但我想确定的是,我不能那样泄露我的秘密。另一个问题是:如果我可以忽略这个秘密,在什么情况下仍然使用它会有用?据我了解,如果没有秘密,我只能通过控制重定向 uri 来防止有人不冒充客户端。例如。没有 localhost 作为产品上的有效重定向 uri。但除此之外,在 Blazor 服务器应用程序中,秘密还能给我什么? (当然,如果不能像那样通过 blazor 泄露秘密)。

【问题讨论】:

    标签: oauth blazor identityserver4


    【解决方案1】:

    Blazor 服务器应用位于 ASP.NET Core 应用的进程中,并使用其 startup.cs 文件。因此它的所有配置只有服务器知道。 Blazor Server 应用程序中负责 websockets 连接的瘦 Javascript 客户端无法控制它。

    Link discussing the benefit of Client Secrets in OAuth2

    【讨论】:

    • 好的,非常感谢,不确定是否真的没有任何东西可以泄露给客户端。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 2014-12-23
    • 2019-01-29
    • 2021-01-14
    • 2012-08-28
    相关资源
    最近更新 更多