【问题标题】:When to use IdentityServer 3 for OAuth何时使用 IdentityServer 3 进行 OAuth
【发布时间】:2018-04-10 19:12:48
【问题描述】:

我是 Identitysever3 的新手,但我使用过 OAuth 和 OpenId。

我需要创建一个将与 QBO(Quickbooks Online)交互的 MVC 客户端。 QBO 自己使用 OAuth。首先,我跟随 QBO 社区的 github 示例项目使用 QBO REST API。这个 MVC 应用在 MVC 控制器中有 OAuth 的东西。

现在我需要创建将与 QBO 交互的实际 MVC 项目。我追求最佳实践来授权我的项目。这里我的授权服务器是 QBO。那么我的应用是使用 Identityserver3 的合适人选吗?

我的理解是我需要在我的解决方案中添加 Identityserver 3 项目,并使用 QBO 提供的授权服务器 URI、客户端 ID 和客户端密码。

我假设 Identityserver 3 是一个框架,它是使用 OAuth 和 OpenID 连接作为单独项目的最佳方式,因此它可以在其他解决方案中重复使用。而且它不是授权服务器,对吗?

请等待帮助。

【问题讨论】:

    标签: asp.net model-view-controller identityserver4 identityserver3


    【解决方案1】:

    我假设 Identityserver 3 是一个框架,它是使用 OAuth 和 OpenID 连接作为单独项目的最佳方式,因此它可以在其他解决方案中重复使用。而且它不是授权服务器。

    这种说法正确。事实上 IdentityServer3 实现了 OAuth2 和 OpenIdConnect 并且是一个授权服务器。如果你有QBO作为授权服务器,你不需要使用identityserver3。

    您需要的是 OAuth2 和 OpenIdConnect 的客户端。您可以使用IdentityModel,它由实现 IdentityServer3 的同一团队实现。

    【讨论】:

    • 谢谢它消除了我的困惑。 QBO 有自己的客户端 DiscoveryClient,所以我也不需要 IdentityModel。那么是否有可能有一个开放授权项目将连接到不同的授权服务器,以便我们可以重用它?
    • 你是对的,如果它有自己的客户端,那么没有必要使用IdentityModel。
    • 那么是否有可能有一个开放授权项目将连接到不同的授权服务器以便我们可以重用它?
    • 是的,授权服务器可以相互使用作为外部身份提供者。让我问你这个问题,你想拥有自己的项目和API吗?但是您想使用 QBO 对您的用户进行身份验证?
    • 是的,我的 MVC 客户端将连接到 QBO 并使用 QBO 授权用户并获取访问令牌。然后通过发送访问令牌与 QBO REST API 进行交互。
    猜你喜欢
    • 2011-09-26
    • 2022-01-03
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-05-11
    • 2022-01-06
    • 2017-01-16
    • 2015-10-17
    相关资源
    最近更新 更多