2017-10-20 109 views
0

我正在创建一个Angular4 WebApp,它将为用户提供登录/注册页面。我需要它能够有:Angular4 OAuth2 IdentityServer4

  • 自定义登录(即用户配置有自己的用户名/密码)
  • 谷歌登录
  • 的Facebook登录

到目前为止,我的理解是,我需要具备以下条件:

  • 客户端(我Angular4 web应用程序)
  • 验证服务器(IdentityServer4?)
  • 资源服务器(ASP.NET核心Web API)

如果我利用类似IdentityServer4我的auth服务器。我无法将登录/注册表单嵌入到应用程序中?我将不得不始终重定向到AuthServer以执行登录,然后重定向到我的客户端以及访问令牌。哪一个是我们并不真正想要的用户体验,但我不知道其他选择?

我的问题是:

  1. 我是正确,我Angular4的应用程序不能有一个登录/注册页面,如果我用IdentityServer4。它必须被重定向并在AuthServer本身进行
  2. 是否有其他我可以改用IdentityServer4为基于我的要求

回答

1

使用IdentityServer为前端的角度web应用程序创建登录/注册的登录表单是完全可选的。我建议你阅读the various Flows that are supported。要理解的最简单的(通常称为“遗留”和不安全)选项是资源所有者密码流,它是使用您自己创建的形式允许纯粹JavaScript解决方案获取和使用令牌的流程之一。

直接回答你的问题:

  1. 没有,你是不正确的。重定向流程只是其中一个选项,没有流程(仅在您自己的应用程序中有表单)也是可以的。
  2. 是的,可能有其他选择,但堆栈溢出不是很好/用于推荐。您可能需要检查SoftwareRecs.SE(请阅读其常见问题解答!)以进行调查。