【问题标题】:Using IdentityServer4 as Class Library instead of Hosting Solution使用 IdentityServer4 作为类库而不是托管解决方案
【发布时间】:2020-06-05 00:54:41
【问题描述】:

这几天我一直在探索 IdentityServer4。它在内部执行托管,生成一个连接/令牌端点,该端点在内部验证并生成一个访问令牌。 即使称之为发现 URL,最终也需要一个用于托管的 Web 应用程序模板。 是否可以将 IdentityServer4 用作只允许生成访问令牌的库?

**根据 Bryan 的输入更新

我在这里想要实现的是 GSMA 合规性,它需要 OpenID Connect 和 OAuth。我需要生成一个访问令牌以及 Identity_Token。但这里需要注意的是,IdentityServer4 托管其内部端点,我确实有自定义端点。它还需要基于 http 的调用,我确实需要一种可以集成并在内部调用以生成访问令牌和身份令牌的库。

** 更多更新 我们已经托管了一个自定义的符合 GSMA 标准的 Web API 项目,并根据 GSMA 的要求托管了多个端点,最终验证和清理了登陆我们端点的请求。在内部,我们确实需要在调用方的回调中生成并共享访问令牌和身份令牌。目前,我使用了一个 Identity Server 模板,它是基于 MVC 的项目,最终要求我们使用至少两个端口/项目,一个用于我们的自定义 GSMA 兼容 API,一个用于 Identity Server。通过 URL 调用身份服务器会添加一个新的跃点,并且需要将 HTTP 请求发送到身份服务器,而我正在考虑使用 IdentityServer 作为类库,这在某种程度上允许我传入输入参数并获得访问令牌/身份令牌。 在剖析像

这样的服务器身份服务器项目时
Identity Server 4
Identity Mode
Identity Storage

我的印象是,很难从这些项目中找出一个可以帮助我轻松生成访问令牌/身份令牌的库。

【问题讨论】:

    标签: c# identityserver4


    【解决方案1】:

    IdentityServer4 是一种 OpenID Connect(和 OAuth)身份服务——它不仅仅是关于令牌。这些技术主要是基于 HTTP 的。因此,IS4 建立在 ASP.Net Core 的网络技术之上。如果您只需要令牌(我假设是 JWT),那么滚动您自己的令牌并使用您认为合适的令牌非常简单。一些 Google 搜索(或 SO 搜索)将为您提供创建自己的 JWT 所需的代码(例如:https://houseofcat.io/tutorials/csharp/identity/createjwt)。如果没有更多关于如何使用它们的信息,我无法详细说明这个答案。

    【讨论】:

    • 谢谢@Bryan Lewis。我想要实现的是需要 OpenID 连接和 OAuth 的 GSMA 合规性。我需要生成访问令牌以及 Identity_Token。但这里的ceveat 是Identity Server 4 托管其内部端点,我确实有自定义端点。
    • @hellowahab,您能否阐明自定义端点的含义?我不熟悉 GSMA 合规性。您想更改现有的“知名”端点(发现、身份验证、用户等)还是只是创建新的附加端点?在现有 IS4 服务器上添加额外的 API 端点非常简单 (docs.identityserver.io/en/latest/topics/add_apis.html)
    • 我们已经托管了一个自定义的 GSMA 兼容 Web API 项目,并根据 GSMA 的要求托管了多个端点,最终验证和清理了登陆我们端点的请求。在内部,我们确实需要在调用方的回调中生成并共享访问令牌和身份令牌。目前,我使用了一个 Identity Server 模板,它是基于 MVC 的项目,最终要求我们使用至少两个端口/项目,一个用于我们的自定义 GSMA 兼容 API,一个用于 Identity Server。通过 URL 添加调用身份服务器 ...(在上面的问题中继续)
    猜你喜欢
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多