我已经使用IdentityModel.OidcClient和IdentityServer4为 WinForms 应用程序实现了这个任务。下一个任务是为 Angular 做这件事。ID4 的文档说,本机应用程序和 SPA 可以使用相同的流程进行处理,即“授权代码”流程作为交互式客户端。那么是否可以使用 Angular 中第一个实现的 dll(.net 标准 2.0)?它使用 OidcClient 在系统浏览器中登录,接收带有代码的重定向 uri,最后从代码中获取访问令牌。
或者我应该使用 OAuth2.0 的 JavaScript 实现,参见oidc-client.js
问问题
137 次
1 回答
0
ID4 的文档说,本机应用程序和 SPA 可以使用相同的流程处理,即“授权代码”流程作为交互式客户端
您应该使用授权码 + PKCE。如果没有后者,您将需要使用将与您的客户端代码一起公开的客户端密码,这不是您想要的。
那么是否可以使用 Angular 中第一个实现的 dll(.net 标准 2.0)?
无法使用 javascript 加载和使用程序集。它们是两种独立的技术。(为了清楚起见,有一个名为 webassembly 的新东西开始随浏览器一起发布,并允许您在浏览器上运行汇编代码,但这是题外话)
或者我应该使用 OAuth2.0 的 JavaScript 实现,参见 oidc-client.js
是的,您应该使用 OpenID Connect(扩展 OAuth2.0)js 客户端的 Javascript 实现,是的,Brock Allen 的 oidc-client-js 是实现此目的所需的库。
于 2020-01-07T10:23:24.007 回答