【问题标题】:Which application needs a client secret, web, SPA, API (like dotnet core web api)? [closed]哪个应用程序需要客户端密码、Web、SPA、API(如 dotnet core web api)? [关闭]
【发布时间】:2021-04-20 20:33:11
【问题描述】:

This article 解释了如何注册 Web 应用程序。目前尚不清楚网络是否包括 SPA(Angular 和 React)和 API(类似于 Dotnet 核心网络 API)。即使这个sample application on 也不包含秘密。

我的理解是,秘密就像应用程序的密码。但是,哪种类型的应用程序需要它,服务器端 Web 应用程序(ASP.NET MVC,ASP.NET WEB API),像 Angular 的 SPA?

感谢您的帮助

【问题讨论】:

    标签: angular asp.net-core-webapi azure-ad-b2c secret-key


    【解决方案1】:

    永远不要在 SPA 中隐藏秘密。 任何查看该应用程序的人都可以看到它。 这同样适用于任何其他“公共客户端应用程序”,即在用户设备上运行的应用程序。

    当后端服务器应用程序需要向身份提供者进行身份验证时,它需要密钥或证书。 因此,如果后端应用需要获取访问令牌,则需要一个秘密。

    例如,ASP.NET Web API 可能不需要机密。 如果它不调用任何下游 API,它只需要验证传入的令牌,它可以在没有秘密的情况下完成。

    【讨论】:

    • 只是为了清楚并避免我遇到的困惑。 backend server 是指在服务器中运行的 ASP.NET MVC 之类的东西,然后将响应以 HTML 形式返回给浏览器?
    • 是的。在您信任的环境中运行的应用程序可以使用机密 :)
    猜你喜欢
    • 1970-01-01
    • 2021-04-25
    • 2021-07-19
    • 2017-07-29
    • 1970-01-01
    • 2014-04-04
    • 2019-12-08
    • 2020-11-16
    • 1970-01-01
    相关资源
    最近更新 更多