- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
所以我有以下设置:
前端:AngularJS 应用
后端:带有 Identity Server 的 WebApi 用于验证客户端
在我的后端,我创建了一个新的内存客户端,如下所示:
new Client
{
Enabled = true,
ClientId = "myapp.mycompany",
ClientUri = "https://myapp.mycompany.com",
ClientName = "My Client",
Flow = Flows.Implicit,
AllowAccessToAllScopes = true,
IdentityTokenLifetime = 300,
AccessTokenLifetime = 3600,
RequireConsent = false,
RedirectUris = new List<string>
{
"https://myapp.mycompany.com/assets/idSrv/callback.html",
"https://myapp.mycompany.com/assets/idSrv/silentrefreshframe.html"
},
PostLogoutRedirectUris = new List<string>
{
"https://myapp.mycompany.com/index.html"
}
},
在我的前端,我有以下声明客户端的代码,我使用 oidc-token-manager.js 客户端
var authority = 'https://sts.mycompany.com/identity';
return {
baseUri: protocol,
tokenConfig: {
'client_id': 'myapp.mycompany',
'authority': authority,
'redirect_uri': 'https://myapp.mycompany.com/assets/idSrv/callback.html',
'post_logout_redirect_uri': 'https://myapp.mycompany.com/index.html',
'response_type': 'id_token token',
'scope': 'openid profile roleScope webApiScope',
'silent_redirect_uri': 'https://myapp.mycompany.com/assets/idSrv/silentrefreshframe.html',
'silent_renew': true
},
isDebugging: isDebugging
};
当我尝试访问我的网站时:
我收到以下错误:
The client application is not known or is not authorized.
我启用了日志记录,这是我得到的:
"Unknown client or not enabled: myapp.mycompany"
"{
\"RedirectUri\": \"https://myapp.mycompany.com/assets/idSrv/callback.html\",
\"SubjectId\": \"unknown\",
\"Flow\": \"AuthorizationCode\",
\"RequestedScopes\": \"\",
\"Raw\": {
\"state\": \"18141519257414835\",
\"nonce\": \"8585758378803323\",
\"client_id\": \"myapp.mycompany\",
\"redirect_uri\": \"https://myapp.mycompany.com/assets/idSrv/callback.html\",
\"response_type\": \"id_token token\",
\"scope\": \"openid profile roleScope webApiScope\"
}
}"
End authorize request
3001: "Endpoint failure" / "Endpoints" (Failure), Context: EventContext { ..., Details: EndpointDetail { EndpointName: "authorize" }
最佳答案
可能您必须在 cors 源中允许您的 clientRoot,我发现流程不一样。
我在您的客户端配置中看到隐式流,但服务器显示授权代码流!
"myApp": {
"ClientId": "spa-myApp",
"ClientName": "myAppSPA",
"ClientUri": "http://localhost:4200",
"RequireConsent": false,
"AllowedGrantTypes": [ "implicit" ],
"AllowAccessTokensViaBrowser": true,
"RedirectUris": [
"http://localhost:4200/assets/html/popup-login-redirect.html",
"http://localhost:4200/assets/html/silent-refresh-redirect.html"
],
"PostLogoutRedirectUris": [ "http://localhost:4200?postLogout=true" ],
"FrontChannelLogoutUri": "http://localhost:4200?frontchannellogout=true",
"FrontChannelLogoutSessionRequired": true,
"AllowedCorsOrigins": [ "http://localhost:4200" ], // here you have to add your client root
"AllowedScopes": [ "openid", "profile", "qsdqsdqs", "qdqsd" ],
"IdentityTokenLifetime": 18000,
"AccessTokenLifetime": 18000
},
关于javascript - C#.NET : Server is not able to validate Angular Client [IdentityServer],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52993167/
我已经启动并运行了 6 个节点的 cloudera 5.0 beta 集群 但是我无法使用命令查看hadoop HDFS的文件和文件夹 sudo -u hdfs hadoop fs -ls / 在输出
我使用 Hibernate 4.1.7 和 EhCache 作为二级缓存。我正在实现一项休息服务,以根据需要清除 cahce(驱逐所有区域)。 下面是代码片段 org.hibernate.stat.S
所以有列表?,seq?,向量?, map ?等等以确定参数是什么类型的集合。 什么是区分两者的好方法 map (即包含键值对的东西) 一个集合(即包含值的东西) 一个非集合值,如字符串。 有没有比这更
我是 Handlebars 和 Javascript 的新手,所以我提前道歉。作为学习 Handlebars 的一种方法,我尝试将在线示例中的所有基本组件放入一个独立的网页中。然而它运行得并不好。
我如何从显示语句中转义大括号 progress abl ?? 我们的 friend 谷歌没有找到任何信息 DISPLAY "{"httCust":[]}" 最佳答案 使用波浪号 ~ 转义大括号和双引号
我编写此代码是为了打印一个可能的骑士之旅,以便每个地方都被访问一次。 public class Main{ static int move[][]=new int[8][8];
所以这是我的程序的第二个问题,但是是一个完全不同的问题,感谢那位乐于助人的人建议 JSON 作为一种更好的方法来完成我想要的事情...... 无论如何... JSON 取得了一些成功。该程序也改变了主
我正在尝试与我拥有的一些数据创建一对多关系。 我有一个Project和许多项目,我正在尝试设置 Controller 来保存它们,但这是我第一次使用一对多关系,我的头是关于爆炸。 这就是我的保存方法
我试图在 Apache Tomcat/MySQL/Win 10 环境中设置 Broadleaf eCommerce,但我无法部署 WAR。我已经通过 Broadleaf 博客/论坛和 StackExc
我一直在尝试使用 python ebaysdk,但我无法理解为什么我不断收到以下错误: {'Timestamp': '2017-02-21T19:55:31.915Z', 'Errors': {'Lo
我知道这是一个非常广泛的问题,但我对此很好奇,所以我决定问一下。请理解,不幸的是,我提供的信息是我所拥有的全部:) 我想知道,在C++程序中,下面的情况可能发生在哪些情况下: 以下是(模仿的)代码片段
type Friend struct { name string age int } type Friends struct { friends []Friend } 我想让
select() 是一个很棒的系统调用。您可以打包任意数量的文件描述符、套接字描述符、管道等,并在输入可用时以同步方式收到通知。 有没有办法创建一个间隔/一次性计时器并将其与 select() 一起使
我在解码 HEVC 时遇到问题使用 avcodec 编码的视频。 修改源代码的一行允许解码mpeg1这不是我需要的。 谢谢 #include #include #include #include
我们正在构建一个 AbleCommerce 7 网上商店,并尝试将其与现有的销售点系统集成。产品库存将在实体店和网上商店之间共享,因此我们需要定期更新每种产品的手头数量,以使 POS 和网上商店尽可能
我刚刚下载了 openfire 3.10。 安装正常。但是当我启动 Openfire 服务器时,它在启动过程中出现以下错误: java.lang.IllegalArgumentException: I
对于以下脚本 #!/bin/sh count1=0 noOfArg=0 checkOtherParam() { echo $parameter retu
我尝试根据 README 文件调用命令,使用 maven 编译 TMT 工具包源代码 mvn compile 但是由于项目根目录下没有pom.xml文件,所以maven无法编译项目。 我还尝试使用空的
我有一个关于查询的问题,我实际上是在尝试膨胀 View ,其中可以将添加为 friend 的人添加到 recyclerView 中。 @Override public void onStart(){
我的 reducer 输入值是一个 double 组。 719.000 501.000 -75.000 501.000 508.000 -62.000 -75.000 -62.000 10.000
我是一名优秀的程序员,十分优秀!