如何在没有B2C登录页面的情况下使用AAD B2C验证Windows应用程序?

时间:2017-11-22 04:32:09

标签: azure-ad-b2c

我有一个提供网站和webapi的mvc应用程序。我很高兴认证网站的用户。现在我需要允许Windows应用程序直接调用web api方法。我不希望Windows应用程序重定向到登录页面。我需要Windows应用程序来保存密钥或用户名/密码。这样它就可以自动验证自己。

我担心似乎b2c无法处理客户端凭据流 - 我认为我想要这样。有没有办法静默地为B2C提供用户名和密码?

1 个答案:

答案 0 :(得分:1)

Azure AD B2C未实现OAuth2的客户端凭据或ROPC流。但ROPC是Azure AD B2C路线图。

在您的情况下,如果您有多个用户使用Windows应用程序,那么您需要ROPC,因为使用该机制检索的令牌具有用户上下文(通过用户身份验证实现)。

使用client_credentials流意味着您的Windows应用程序需要保密,并且将仅作为应用程序进行身份验证,而无需任何用户上下文。这适用于在受保护环境中运行的守护程序和后台进程,但不适用于您希望用户使用的应用程序。

此时,您最好的选择是重定向到Azure AD B2C登录页面。虽然它与本机体验不同,但这里的优点是,如果您添加更多选项(例如MFA,字符串和语言自定义,将来的新登录选项),您的客户端应用程序将不需要更改,并且所有您的用户界面将获得这些功能。