如何在ADFS中添加OAuth2协议?解析MSIS7065错误原因
针对你遇到的MSIS7065 :there are no registered protocol handlers on path /adfs/oauth2/token错误,结合你的检查情况,常见原因如下:
ADFS的OAuth 2.0/OIDC功能未启用
即使openid-configuration里显示支持password等授权类型,也可能是ADFS服务器未实际启用OAuth/OIDC协议支持。需要在ADFS管理控制台中确认:右键点击ADFS服务器 → 服务 → 终结点,检查是否存在/adfs/oauth2/开头的终结点;或者通过PowerShell命令Get-AdfsEndpoint | Where-Object Address -like "*oauth2*"验证。ADFS信任配置缺失
要使用OAuth/OIDC获取令牌,必须在ADFS中注册对应的Web应用程序或API信任,并配置正确的重定向URI、允许的授权类型等。如果没有创建对应的信任关系,ADFS不会为该端点注册协议处理器,导致请求被拒绝。ADFS版本不兼容或未正确更新
较旧版本的ADFS(比如ADFS 2.0)原生不支持OAuth 2.0的password授权类型,且端点路径可能不同。如果你的ADFS版本过低,即使配置文件显示支持,实际也无法处理请求。需要确认ADFS版本是否符合要求(至少ADFS 3.0及以上才支持完整的OAuth 2.0功能)。IIS路由或绑定配置错误
ADFS依赖IIS处理HTTP请求,如果IIS上的ADFS站点绑定(比如HTTPS证书、端口)配置错误,或者URL重写规则干扰了端点路径,会导致ADFS无法正确识别/adfs/oauth2/token路径,从而返回无协议处理器的错误。ADFS服务状态异常
你提到issuer地址返回503错误,说明ADFS核心服务可能处于异常状态(比如服务未启动、依赖组件故障)。即使部分端点(如jwks_uri)暂时可用,核心的OAuth/OIDC处理服务已经无法正常工作,需要重启ADFS服务或检查服务器日志排查故障。
内容的提问来源于stack exchange,提问作者손동진

