我在为身份验证过程而挣扎。不确定它是否设计得很好。

我有一个角应用程序,只是为了登录和注册的用户。如果用户想登录1,他只填写一个电子邮件字段,然后将2重定向到身份验证页面(它的另一个使用identityserver4的网站),在那里输入他的密码。最后,最后一次重定向到角形应用程序,他希望最初访问3。
我正在使用oidc-客户端js。
我的问题是,我无法完成认证。调用signinRedirectCallback将获得No matching state found in storage错误。我认为信息、代码、状态、session_state等(通过查询params从auth服务接收)足以完成身份验证。但似乎不是这样..。
这一过程应该以某种方式起作用吗?或者我应该将登录组件集成到我的每个应用程序中,这样登录3后的重定向返回到相同的应用程序中,存储状态就可以了。
发布于 2020-01-13 08:17:31
我尝试的过程(工作流程)是错误的。为了完成身份验证,我必须重定向回login.mydomain.ch,因为PKCE (代码交换的验证密钥)。回到login.mydomain.ch后,我可以从那里重定向到另一个应用程序。因为IdentityServer支持SSO (单点登录),用户不必再次登录。
发布于 2020-01-10 19:39:11
它应该是这样的:
大多数公司使用云授权服务器,不需要编写任何外部安全代码。作为一个示例,请参阅这个AWS写起来了了解如何使用内置功能。
如果您使用的是Identity Server,您需要让它做同样的事情。它有扩展点来启用这一点,但它可能会变成相当多的工作。
https://stackoverflow.com/questions/59669509
复制相似问题