首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >IdentityServer 4- ASP.net webapi (非核心)-缺少ApiResource

IdentityServer 4- ASP.net webapi (非核心)-缺少ApiResource
EN

Stack Overflow用户
提问于 2018-01-23 05:22:52
回答 2查看 2K关注 0票数 0

给定的

我有一个身份服务器v4正在运行。Javascript客户端创建一个令牌,并使用生成的访问程序访问asp.core api。

在Asp Core Api中,我有这样的代码,它可以工作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
             services.AddAuthentication("Bearer")
            .AddIdentityServerAuthentication(options =>
            {
                options.Authority = authority;
                options.ApiName = "myApi";
            });

在IdentityServer中,我将"myApi“定义为ApiResource

问题

现在,我想包含另一个api,它是旧的webapi,用.net4.6.1编写的。但是对这个api的所有调用都以401结尾。

对具有相同令牌的核心api使用相同的请求是可行的。

该代码的外观如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      JwtSecurityTokenHandler.InboundClaimTypeMap.Clear();
      var options = new IdentityServerBearerTokenAuthenticationOptions
        {
            Authority = identServer,
            RequiredScopes = new List<string>
            {
                "myApi"
            }
        };

        app.UseIdentityServerBearerTokenAuthentication(options);

但是运行核心项目的令牌在那里不起作用。我能看到的一件事是,我不能在中设置api名称。

目前我正在使用IdentityServer3.AccessTokenValidation Nuget软件包。也许这和问题有关吧?

由于一些依赖问题,我不能使用IdentityServer4.AccessTokenValidation。例如,只有AddOptions用于netcore身份验证构建器

使用jwt.io,我也擦了记号,可以看到t hat myApi是audscope的一部分。

我还试着不设置需要的作用域,但是我得到了401

不久前,我在身份服务器v3上测试了它的工作原理。

此外,我没有在日志中看到任何验证错误。为了记录api令牌验证的错误,我遗漏了什么?

我遗漏了什么?

当将验证模式设置为我在标识服务器中得到的异常时,更新

失败: IdentityServer4.Validation.ApiSecretValidator没有找到该名称的API资源。中止失败: IdentityServer4.Endpoints.IntrospectionEndpoint API未经授权调用内省端点。流产。

不巧的是它没有告诉我api是什么.如前所述,"myApi“被定义为ApiResource,但是如何在非核心环境中设置api名称?

EN

回答 2

Stack Overflow用户

发布于 2018-01-23 09:10:05

在对IdentityServer3.AccessTokenValidation进行身份验证时使用IDS4是可以的,不要担心。

试试这个:

Startup.cs of .net4.6.1应用程序中,在IdentityServerBearerTokenAuthenticationOptions中有一个属性ValidationMode。将其设置为ValidationMode.Both,然后重试。

票数 1
EN

Stack Overflow用户

发布于 2018-01-24 09:30:12

原因是当我使用非核心api进行身份验证时,api资源需要有一个秘密,然后api资源名和机密必须在api中设置。

在此:

在IdentityServer中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
new ApiResource("myApi", "My Test API")
{   
  ApiSecrets = new List<Secret>()
  {
    new Secret("435tgsdgfdg".Sha256()) // This wasnt required when attaching a .net core api
  }
}

然后netfx webapi中的配置是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var options = new IdentityServerBearerTokenAuthenticationOptions
  {
    ClientId = "myApi",
    ClientSecret = "435tgsdgfdg",
    RequiredScopes = new List<string> { "myApi"},            
    Authority = identtityServerUri,
    DelayLoadMetadata = true
  };

对于asp核心webapi,我既不需要在身份服务器中设置机密,也不需要在客户端设置客户端和客户端秘密。

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

https://stackoverflow.com/questions/48402813

复制
相关文章
Angular 组件动态传入模板
比如 ng-zorro项目中的 BackTop回到顶部 组件就支持自定义模板。 默认时可以使用<nz-back-top></nz-back-top>。获得这个图标。
mafeifan
2018/12/28
1.9K0
JavaScript框架比较:AngularJS vs ReactJS vs EmberJS
选择最适合项目需求的JavaScript框架,可以提高你发布有竞争力的web app的能力。 最后,你对基于JavaScript的app或网站找到了一条奇妙的思路。选择正确的框架可能对你项目的成功有着
前朝楚水
2018/04/03
12.7K0
JavaScript框架比较:AngularJS vs ReactJS vs EmberJS
《Ext JS模板与组件基本框架图----组件》
本节主要从七个方面讲解组件,组件时什么,它的作用,它的构架,以及怎么创建和周期还有常见的配置项,属性方法和事件以及其层级是什么都进行整理,希望对大家有帮助。
yaohong
2019/09/11
1.6K0
Vue组件化 模板 语法糖 函数 父子组件通信
支持:String、Number、Boolean、Array、Object、Date、Function、Symbol
有勇气的牛排
2023/06/25
2110
《Ext JS模板与组件基本知识框架图----模板》
最近在整理Ext JS的模板和组件,在参考《Ext JS权威指南》,《Ext JS Web应用程序开发指南》,《Ext JS API》等相关书籍后才写下这篇《Ext JS模板与组件基本知识思维导图》,由于篇幅较长,所以必须肢解与各位分享。想要《Ext JS模板与组件基本知识思维导图》原文档的可以与我联系。
yaohong
2019/09/11
3.2K0
Angular快速学习笔记(3) -- 组件与模板
1. 显示数据 在 Angular 中最典型的数据显示方式,就是把 HTML 模板中的控件绑定到 Angular 组件的属性。 使用插值表达式显示组件属性 要显示组件的属性,最简单的方式就是通过插值表达式 (interpolation) 来绑定属性名。 要使用插值表达式,就把属性名包裹在双花括号里放进视图模板,如 {{myHero}}。 import { Component } from '@angular/core'; @Component({ selector: 'app-root', te
JadePeng
2018/05/28
15.3K0
小程序开发实战(5):组件复用利器-模板
根据我们前面讲解的知识,很容易看出,这段布局代码的作用是绘制两行带背景色的方块,效果如图1所示。
蒙娜丽宁
2020/07/09
6800
小程序开发实战(5):组件复用利器-模板
设计模式——组件协作模式之模板方法模式
<2>、早绑定与晚绑定 结构化软件设计的流程是一种早绑定的写法,Library 写的比 Application 早,写得比较晚的调用实现比较早的程序就叫做早绑定;
Gnep@97
2023/08/10
1800
设计模式——组件协作模式之模板方法模式
2套后台模板HTML+整套Easyui皮肤组件-后台管理系统模板
最近又对之前的easyui主题做了点更新,自己挺喜欢layui风格的,正好赶上layui官方下线,所以就在之前基础上增加了一套仿layui风格的easyui主题,easyui1.5.0-1.10.0都可以用,修复了一些小错位及bug,全部组件都按照layui风格进行样式调整,下面是部分页面截图:
全栈程序员站长
2022/10/01
5.2K0
2套后台模板HTML+整套Easyui皮肤组件-后台管理系统模板
模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板
图论 最短路 SPFA 1 #include<cstdio> 2 #include<queue> 3 #include<cstring> 4 using namespace std; 5 c
attack
2018/04/12
32.6K0
【腾讯云 Cloud Studio 实战训练营】新手小试使用Cloud Studio 搭建移动端 H5 页面(Vue框架)
代码开发随着云计算技术的不断发展,云 IDE 也应运而生,以下是云 IDE 的一些特点:
gpsgisrs
2023/08/07
3200
【腾讯云 Cloud Studio 实战训练营】使用 Cloud Studio 快速构建 Vue + Vite 完成律师 H5 页面
Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个稳定的云端工作站。
用户10701426
2023/08/26
2850
【腾讯云 Cloud Studio 实战训练营】使用 Cloud Studio 快速构建 Vue + Vite 完成律师 H5 页面
【愚公系列】2022年02月 微信小程序-组件模板和组件样式
组件模板的写法与页面模板相同。组件模板与组件数据结合后生成的节点树,将被插入到组件的引用位置上。
愚公搬代码
2022/02/28
3560
uni-app自定义弹窗模板uniPop组件
uni-app自定义弹窗uniPop.vue模板|uniapp仿微信弹窗/仿ios弹窗效果|msg信息框|alert对话框|loading提示框
andy2018
2019/09/28
24K9
uni-app自定义弹窗模板uniPop组件
如何实现 CLI 通过模板批量生成组件文件?
上一篇 《如何用 Node.js 实现一个微型 CLI》 中介绍了如何使用 CLI 以及如何实现一个简单的问答式CLI。在文章的最后也提到我对于目前这个 CLI 还有一些想法以及一些可以改进和优化的地方,所以现在我来兑现了。
林小帅
2020/05/28
9280
如何实现 CLI 通过模板批量生成组件文件?
【腾讯云Cloud Studio实战训练营】用Vue+Vite快速构建完成律师H5页面
Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器就能在线编程。
亦世凡华、
2023/08/14
2760
【腾讯云Cloud Studio实战训练营】用Vue+Vite快速构建完成律师H5页面
17、将数据渲染到组件(列表渲染、模板语法、父子组件之间的传值)
(1)v-for语法 https://cn.vuejs.org/v2/guide/list.html 我们用 v-for 指令根据一组数组的选项列表进行渲染。v-for 指令需要使用 item in items形式的特殊语法,items 是源数据数组并且 item 是数组元素迭代的别名。
Ewall
2018/09/04
4.4K0
17、将数据渲染到组件(列表渲染、模板语法、父子组件之间的传值)
【腾讯云 Cloud Studio 实战训练营】体验搭建一个软件系统,无经验也能做开发
云计算技术的不断发展为代码开发带来了全新的体验,云 IDE(Integrated Development Environment)应运而生。腾讯云还与 CODING 联合推出的一站式云 IDE——Cloud Studio。我们将探讨云 IDE 的优势、特点以及体验,同时使用 Cloud Studio 快速搭建一个移动端 H5 页面,深入感受云 IDE 给我们带来的便利。
Swift社区
2023/07/31
1.4K0
【腾讯云 Cloud Studio 实战训练营】体验搭建一个软件系统,无经验也能做开发
调研技术组件模板V1 —— 以 Drools 为例
Drools通过 事实、规则和模式相互组合来完成工作,drools在开源规则引擎中使用率最广,但是在国内企业使用偏少,保险、支付行业使用稍多。
知一
2021/12/07
8090
调研技术组件模板V1 —— 以 Drools 为例
10+个很酷的VueJS组件,模板和实验示例
BootstrapVue Argon Dashboard PRO是BootstrapVue和Vue.js的高级仪表板。这是一种全新产品,它基于我们从头开始重新构建的最新框架结构,这种结构旨在使产品更直观,更具适应性,并且更易于定制。让Argon以其酷炫的功能给你带来惊喜,让你的项目达到一个全新的水平。
前端达人
2020/06/24
2.2K0

相似问题

addEventListener(“事件”,回调)与addEventListener(“事件”,函数(){回调() })

11

Javascript addEventListener回调逻辑

416

带有addeventlistener的回调函数

24

addEventListener :如何限制回调函数?

20

使用addEventListener理解javascript回调

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文