在 C# MVC 应用程序中,如何使 OAUTH 范围可供服务检查?

问题描述

我目前正在开发一个应用程序,它将缓存请求的 Salesforce 数据。 因为数据可能是敏感的,我们希望使用范围来控制谁可以访问这些数据。 这应该是动态的,因此当授权用户请求缓存中的某些数据时,请求将包括从缓存访问此数据所需的范围。 例如,如果请求是缓存“Opportunity.Amount”,则可能只有范围为“Sf.Cache.Finance.Read”的用户才能看到。

我想我可以这样做:

var authorizedScopes = new string[] { "Sf.Cache.Finance.Read" };
actionContext.HttpContext.VerifyUserHasAnyAcceptedScope(authorizedScopes);

然而,每当我的解决方案遇到第二行时,结果就是一个错误。 在 Swagger 中,我什至没有看到这是 403 错误或有关预期范围的消息,只是简单的“未记录的错误:”。

JWT 令牌是否包含预期范围并不重要。

我尝试使用调试器来获取 actionContext.HttpContext 的值,但在这里我找不到对请求中提供的范围的任何引用。

我是否需要以某种方式修改 Startup.cs 以使其可用? 我可能会错过其他东西吗? 是否有其他方法可以或应该使这项工作发挥作用?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)