首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同一项目中的IdentityServer4令牌发行者和使用者

同一项目中的IdentityServer4令牌发行者和使用者
EN

Stack Overflow用户
提问于 2018-04-04 06:41:39
回答 1查看 2.3K关注 0票数 5

我有一个托管IdentityServer4的项目,我也试图在同一个项目中托管一个Web,它接受访问令牌。

我的问题是,单个项目是否可能包含使用相同IdentityServer的IdentityServer和Web?

编辑:API必须使用授权属性进行保护

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-04 06:46:20

我有一个标识服务器4项目,在同一个项目中有一个用于CIUD的客户端API。(让我们称它为developer console api)。

然后,我有一个附带项目,它是一个asp .net核心项目,它包含用于开发人员控制台的实际剃须刀页面,它访问标识服务器项目中的API。

我这样做的原因是,只有一个项目应该更新数据库。因此,为了更新身份服务器拥有的数据库,决定了访问它的API也应该在同一个项目中。

是的,您可以从您的标识服务器4项目中获得一个web。

配置服务

代码语言:javascript
运行
复制
services.AddAuthentication(IdentityServerConstants.DefaultCookieAuthenticationScheme)
                .AddIdentityServerAuthentication(options =>
                {
                    // base-address of your identityserver
                    options.Authority = settingsSetup.Settings.Authority;
                    // name of the API resource
                    options.ApiName = "testapi";
                    options.RequireHttpsMetadata = false;
                });

配置

我觉得这两样都需要。

代码语言:javascript
运行
复制
JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();
app.UseAuthentication();
app.UseIdentityServer();

端点

因为请求是使用访问令牌作为承载令牌发送的,所以每个API调用的授权都需要包括authencationScheme。我还没有完全弄清楚为什么,但没有这一点,它是行不通的。

代码语言:javascript
运行
复制
[HttpGet("Client/List")]
[Authorize(AuthenticationSchemes = "Bearer")]
public ActionResult ClientList()
  {

  }
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49644410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档