我正在开发一个前端是VueJS,后端是NodeJS和ExpressJS的应用程序。
NodeJS,ExpressJS将托管REST API,我想使用Azure AD保护它们。我想使用Auth Code flow。
我的问题是:我已经把我的想法放在图表中,这是正确的方法吗?

发布于 2020-04-11 23:19:21
这种方法对我来说很好。我认为它是基于JWT (https://jwt.io/)身份验证的高级版本。JWT请参考以下步骤:
credentials.
对于你上面描述的架构,它做了完全相同的事情,除了加密(生成)和解密(验证) Azure AD中存在的令牌。以下是根据您的架构实现身份验证的步骤:
JWT客户端通过提供credentials.
不过,我建议对此做一个小小的改变。如果你看一下上面的步骤4。应用服务器将在每次需要对会话进行身份验证时继续访问Azure AD。如果你可以为这个阶段添加一个实际的JWT,它可能有助于避免这些对Azure的冗余调用。
因此,上述针对JWT的步骤可能会在上述Azure AD的第4步之后添加,即创建JWT并将其存储在客户端会话中,一旦从Azure验证了所有内容,然后在未来对当前会话继续使用基于JWT的身份验证。
如果需要,JWT可以存储在浏览器cookie中,并且可以在特定时间段内完全避免对Azure AD的调用。然而,我们的目标不是减少Azure AD服务器上的负载,而只是建议在这种特定情况下使用JWT的方法。
我希望它能帮上忙。
https://stackoverflow.com/questions/61092501
复制相似问题