Angular4 OAuth2 IdentityServer4
问题描述:
我正在创建一个Angular4 WebApp,它将为用户提供登录/注册页面。我需要它能够有:Angular4 OAuth2 IdentityServer4
- 自定义登录(即用户配置有自己的用户名/密码)
- 谷歌登录
- 的Facebook登录
到目前为止,我的理解是,我需要具备以下条件:
- 客户端(我Angular4 web应用程序)
- 验证服务器(IdentityServer4?)
- 资源服务器(ASP.NET核心Web API)
如果我利用类似IdentityServer4我的auth服务器。我无法将登录/注册表单嵌入到应用程序中?我将不得不始终重定向到AuthServer以执行登录,然后重定向到我的客户端以及访问令牌。哪一个是我们并不真正想要的用户体验,但我不知道其他选择?
我的问题是:
- 我是正确,我Angular4的应用程序不能有一个登录/注册页面,如果我用IdentityServer4。它必须被重定向并在AuthServer本身进行
- 是否有其他我可以改用IdentityServer4为基于我的要求
答
使用IdentityServer为前端的角度web应用程序创建登录/注册的登录表单是完全可选的。我建议你阅读the various Flows that are supported。要理解的最简单的(通常称为“遗留”和不安全)选项是资源所有者密码流,它是使用您自己创建的形式允许纯粹JavaScript解决方案获取和使用令牌的流程之一。
直接回答你的问题:
- 没有,你是不正确的。重定向流程只是其中一个选项,没有流程(仅在您自己的应用程序中有表单)也是可以的。
- 是的,可能有其他选择,但堆栈溢出不是很好/用于推荐。您可能需要检查SoftwareRecs.SE(请阅读其常见问题解答!)以进行调查。