使用OIDC PKCE和identityserver.io反应SPA

时间:2019-07-08 12:00:34

标签: reactjs single-page-application identityserver4 oidc pkce

作为学校作业,我必须做以下事情:

概述

创建一个执行以下操作的React SPA:

  1. 使用带有PKCE的授权代码流对https://demo.identityserver.io/进行身份验证

  2. 使用正确的令牌呼叫https://demo.identityserver.io/api/test

详细信息

通过反应创建SPA。这次必须使用React。

作为该领域的初学者,我完全不理解作业。有人可以帮我吗?

1 个答案:

答案 0 :(得分:6)

编辑-欢迎来到!在这里变得友善,并帮助其他人。


为了变得友善,这里有一些指针和解决作业的方法。但是,请,请-请不要复制它,学习它的工作原理,仔细考虑,然后将其应用到您自己的React应用中。

首先,虽然Identityserver在https://identityserver4.readthedocs.io/有很好的文档-它是非常面向代码的,可能很难入门。

因此,让我们看看竞争产品Auth0。他们也有不错的文档,并且还解释了一些协议。 https://auth0.com/docs/protocols/oauth2 https://auth0.com/docs/flows/concepts/auth-code-pkce 这些特别有趣。

现在,它们还具有您需要实现的方案。您可能会认为是这样的:https://auth0.com/docs/architecture-scenarios/spa-api,但是它们在新指南中有些落后(但幸运的是,您的工作并非如此),SPA也应该使用PKCE的代码流,因此您最好这样做: https://auth0.com/docs/architecture-scenarios/mobile-api (有关此处为什么更好的更多信息:https://brockallen.com/2019/01/03/the-state-of-the-implicit-flow-in-oauth2/

阅读所有内容之后,您需要找到一个可以为您执行oidc / oauth的优秀JS库。除非要攻读博士学位,否则在学校写自己的书没有用。

Google javascript oidc-> https://github.com/IdentityModel/oidc-client-js出现。嘿!再次是来自身份服务器的家伙。他们是伟大的人,不是吗?他们肯定得到了你的支持。

现在,谷歌做出了oidc-client-js的反应-并不是那么好,有人击败了您:https://github.com/skoruba/react-oidc-client-js

那应该让您入门。就像我说的,请不要让我后悔,要花点时间和精力来学习这些东西。稍后可能会导致有趣的工作:-)