.NET6 Web API结合MSAL.NET与ADFS2019配置问题求助
问题解答
关于可行性
当然有开发者成功实现过基于.NET6 Web API结合MSAL.NET与ADFS2019的REST API授权场景,客户端凭证流也是ADFS2019支持的标准授权模式之一。
核心配置修正
你遇到的500错误根源是MSAL.NET默认按照Azure AD的端点规则拼接了v2.0路径,但ADFS2019的OpenID配置端点没有这个路径。只需在appSettings.json中添加MetadataAddress参数,直接指定ADFS的正确配置端点,就能解决这个问题。
修改后的appSettings.json配置
{ "AzureAd": { "Instance": "https://{My ADFS Server FQDN}/adfs/", "ClientId": "{Web API的应用Client ID}", // 注意:此处需填写ADFS应用组中Web API应用的Client ID,而非服务器应用的ID "Tenant": "adfs", "MetadataAddress": "https://{My ADFS Server FQDN}/adfs/.well-known/openid-configuration" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Debug" } }, "AllowedHosts": "*" }
额外注意事项
- ClientId校验:Web API配置的
ClientId必须对应ADFS中创建的Web API应用ID,若误用服务器应用的ID,会导致令牌受众验证失败。 - 端点可用性验证:可直接在浏览器访问
MetadataAddress指定的URL,确认能正常返回JSON格式的配置数据,确保ADFS服务器端点可正常访问。
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

