如何将我的Azure AD应用程序更改为机密客户端?(而不是公共客户端)

3
从这份文件中可以看到:Azure Active Directory中可配置的令牌生命周期(公共预览版),对于“机密客户端”,刷新令牌是“until-revoked”。
秘密客户端是可以安全地存储客户端密码(秘密)的应用程序。它们可以证明请求来自客户端应用程序而不是恶意行为者。例如,Web 应用程序是机密客户端,因为它可以在 Web 服务器上存储客户端密码。因为这些流程更安全,所以针对这些流程发出的刷新令牌的默认生命周期是“until-revoked”,无法通过使用策略进行更改,并且不会在自愿密码重置时被撤销。
那么,我的 Azure AD 应用程序是 Web 应用程序,我如何将我的 Azure AD 应用程序更改为“机密客户端”?我找不到 Azure AD 中任何设置应用程序的“机密客户端”或“公共客户端”。
谢谢。
2个回答

4
关于[机密客户][1]
保密的客户能够维护其凭据的机密性(例如,在受限制的访问客户凭据的安全服务器上实现客户端,或使用其他方式进行安全客户端认证)。该规范围绕以下客户端配置文件设计: Web应用程序 Web应用程序是运行在Web服务器上的保密客户端。资源所有者通过在设备上渲染的用户代理中的HTML用户界面访问客户端。客户端凭据以及发给客户端的任何访问令牌都存储在Web服务器上,并且不会被资源所有者暴露或访问。
这意味着本地应用程序和基于用户代理的应用程序是公共客户端,而Web应用程序是保密客户端。

那么,我如何将我的Azure AD应用程序更改为“机密客户端”?

答案很明显:如果您创建的应用程序是Web APP / Web API,则它只是机密客户端。否则,它是公共客户端。这取决于您创建了哪种类型的应用程序。

希望这可以帮助! [1]: https://www.rfc-editor.org/rfc/rfc6749#section-2.1


谢谢,我还有一个问题:对于我的机密客户,我可以假设只需使用 ADAL v3 库中的函数 - AcquireTokenSilentAsync 来始终获取有效令牌吗?(它将通过使用永久 Refresh Token 在旧令牌过期时自动获取新令牌) - Box Very
嗨,@BoxVery。为了符合SO的规则,最好你开一个新问题,可以在那里发布更多关于你场景的细节,我们可以在那里讨论。 - Wayne Yang

0
Azure门户中有一个设置,可以将应用程序设置为公共或机密。默认情况下,它设置为“否”,这意味着该应用程序是机密的。 在此输入图像描述

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接