C# 使用自定义属性从ADFS 2016请求JWT

C# 使用自定义属性从ADFS 2016请求JWT,c#,oauth,oauth-2.0,adfs,ws-trust,C#,Oauth,Oauth 2.0,Adfs,Ws Trust,我们正在研究一种通过webservice调用从ADFS 2016请求JWT令牌的方法,方法是发送一个存储在数据库或AD LDS中的用户UID。令牌应包含完整的域用户名作为声明。C#服务将在没有用户GUI交互(ID卡提供的UID)的情况下请求令牌,然后将其转发到intranet web应用程序 在ADFS 2016中,OAuth 2.0或WS-Trust 1.3是否可能实现这一点?将涉及哪些步骤 现在,我尝试使用OAuth 2.0(HTTP POST to/adfs/oauth2/token),但

我们正在研究一种通过webservice调用从ADFS 2016请求JWT令牌的方法,方法是发送一个存储在数据库或AD LDS中的用户UID。令牌应包含完整的域用户名作为声明。C#服务将在没有用户GUI交互(ID卡提供的UID)的情况下请求令牌,然后将其转发到intranet web应用程序

在ADFS 2016中,OAuth 2.0或WS-Trust 1.3是否可能实现这一点?将涉及哪些步骤

现在,我尝试使用OAuth 2.0(HTTP POST to/adfs/oauth2/token),但无法正确配置adfs(应用程序组、中继方等),也无法通过提供用户名/密码发送正确的HTTP参数来获取令牌

如果有人能给我指出正确的方向那就太好了

编辑

更详细地描述我们想要实现的目标:

目标是创建一个windows服务,该服务处理NFC卡登录,并将带有用户信息的JWT发送到任意web应用程序

  • C#windows服务从NFC读卡器读取卡UID

  • Windows服务通过提供卡UID从ADFS请求JWT。这可以是OAuth或WS-Trust,无论哪种都可以

  • ADFS从机密数据库中查找卡UID。数据库条目还包含用户名。然后,它可以通过在ADLDS中查找域用户来进一步丰富这些数据

  • ADFS创建至少包含域名的令牌,并将其发送回C#windows服务。不需要用户与ADFS登录屏幕交互

  • Windows服务接收令牌并将其转发给预配置的web应用程序登录处理程序

  • Web应用程序验证令牌签名并处理登录


  • 在这种情况下,凭证将仅为卡UID。ADFS是否可以实现这一点?如果没有,我的备份计划是直接在windows服务中创建令牌

    在我指导/帮助你之前,你能更详细地描述一下流动模式吗?您有该用户的凭据吗?谢谢您的评论!我在问题中添加了更多细节。在我指导/帮助你之前,你能更详细地描述一下流程模式吗?您有该用户的凭据吗?谢谢您的评论!我为问题补充了更多细节。