首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有OAuth安全性的Azure API应用程序不接受accesToken

具有OAuth安全性的Azure API应用程序不接受accesToken
EN

Stack Overflow用户
提问于 2019-12-13 19:39:45
回答 1查看 43关注 0票数 0

首先,我没有使用API管理。我只有一个API的.NET核心应用程序托管在Azure中。现在,我想使用不记名令牌(OAuth)保护应用程序。出于某些原因,我可以打开和关闭身份验证/授权,但当这样做时,对API的调用会将我重定向到Chrome的reflight中的登录页面。

所以我的网站托管在www.a.com上,API端点在www.b.com (azure托管网站)上提供服务。Chrome正在发布api应用程序的预检,azure以重定向作为回应。

我的设置实际上非常简单和标准。我有一个作为静态网站托管的VueJS前端,它使用azure AD进行登录。成功登录后,我还想调用托管在azure中的API。这个API必须是安全的。不知何故,我似乎不能让这个相当简单的配置工作。

我已经在azure中注册了应用程序,我已经创建了作用域,并为API应用程序中定义的作用域给了vuejs webclient管理员同意,但我似乎不能从webclient使用accesstoken从API应用程序调用API。

有人在外面求救吗?

问候和感谢

约翰。

EN

回答 1

Stack Overflow用户

发布于 2019-12-17 16:58:48

您可以使用iframe将JWT身份验证令牌存储在连接到主页的中间域的cookie / localStorage中。

1.要在example1.com中对用户进行身份验证,请将用户重定向到sso.example.com中的身份验证服务器,在身份验证后发出JWT,并将其存储在该域的localStorage中。之后,将用户重定向到源域example1.com

2.在example2.com中创建一个指向sso.example.com的iframe。sso.example.com中的iframe读取JWT令牌并向父页面发送一条消息

3.父页面接收消息并获得附加的令牌,继续执行SSO流。

为了简化开发,我们最近在https://github.com/Aralink/ssojwt上发布了使用JWT的跨域单点登录

有关更多详细信息,请参阅此article

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59321895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档