您将如何从没有登录名的 Javascript 脚本应用程序调用安全的 REST api?
我有一个没有用户登录的 Javascript 应用程序 (React)。它需要调用一些使用 Oauth 的 REST api 服务(Azure Ad - WindowsAzureActiveDirectoryBearerAuthentication)。
这些 REST 服务启用了 CORS。
我还在 Azure Ad 中注册了我的 Web 应用程序。
问题是 javascript 应用程序需要调用https://login.microsoftonline.com/ {{tenantId}}/oauth2/token 来获取访问令牌。我发现无法为该 URL 启用 CORS。我的 JS 应用程序没有任何登录名,因此我无法在弹出窗口中显示登录屏幕或使用 adal js。
我想出的解决方案是将我的 Javascript 应用程序放在 NodeJS (Express) 中。JS 调用调用 login.microsoftonline.com 的 NodeJS 来获取令牌并在调用其他安全 REST 服务时传递它。
它工作得很好,但我认为这可能存在一些安全问题。
有没有更好的方法来设计这种应用程序?