我的问题是:如何使用Shibboleth SSO作为身份验证机制,使用JWT令牌保护我的Node JS API?
[我的应用程序流程]
- 我有一个AngularJS应用程序和一个后端Node JS应用程序。 - AngularJS应用程序通过HTTP公开的API与后端应用程序通信。 - 现在,AngularJS应用程序使用Shibboleth SSO实现身份验证,这很完美。 - 在Shibboleth SSO中,用户针对IDP进行身份验证,因此在登录机制期间我没有控制权。换句话说,IDP不在我的控制范围内。 - 一旦经过身份验证,Shibboleth将返回有关用户的所需数据给AngularJS应用程序。 - 然后,AngularJS应用程序通过API与后端应用程序通信以获取某些数据。
[NORMAL JWT SCENARIO TO SECURE API]
- 用户尝试从前端应用程序登录,该应用程序将通过发送用户名和密码调用后端的登录API。 - 如果用户存在于后端,则后端生成JWT令牌并将其发送回用户。 - 用户将利用该JWT令牌进行进一步的API调用。后端可以验证令牌并做出适当的响应。 - 因此,保护API并防止未经授权的访问。
[MY JWT SCENARIO AND PROBLEM]
- 当用户到达前端AngularJS应用程序时,用户已经通过身份验证。 - 现在,AngularJS应用程序将对后端进行一些数据的API调用。 - [问题/问题]:如何保护我的后端API免受未经授权的访问?
[AN APPROACH WITH A FLAW]
- [方法]:我可以在我的Node JS应用程序中创建一个登录API,该API将接受我从Shibboleth SSO收到的用户名和密码,并在后端生成JWT令牌。并使后端返回该JWT令牌作为响应。用户可以进一步利用它进行API调用。 - [缺陷]:但是这种方法的问题是:我如何验证我从前端收到的用户名和密码的合法性?
因此,我的问题再次是:如何使用Shibboleth SSO作为身份验证机制,使用JWT令牌保护我的Node JS API?希望能得到帮助、指导或正确的方向。谢谢 :)
[我的应用程序流程]
- 我有一个AngularJS应用程序和一个后端Node JS应用程序。 - AngularJS应用程序通过HTTP公开的API与后端应用程序通信。 - 现在,AngularJS应用程序使用Shibboleth SSO实现身份验证,这很完美。 - 在Shibboleth SSO中,用户针对IDP进行身份验证,因此在登录机制期间我没有控制权。换句话说,IDP不在我的控制范围内。 - 一旦经过身份验证,Shibboleth将返回有关用户的所需数据给AngularJS应用程序。 - 然后,AngularJS应用程序通过API与后端应用程序通信以获取某些数据。
[NORMAL JWT SCENARIO TO SECURE API]
- 用户尝试从前端应用程序登录,该应用程序将通过发送用户名和密码调用后端的登录API。 - 如果用户存在于后端,则后端生成JWT令牌并将其发送回用户。 - 用户将利用该JWT令牌进行进一步的API调用。后端可以验证令牌并做出适当的响应。 - 因此,保护API并防止未经授权的访问。
[MY JWT SCENARIO AND PROBLEM]
- 当用户到达前端AngularJS应用程序时,用户已经通过身份验证。 - 现在,AngularJS应用程序将对后端进行一些数据的API调用。 - [问题/问题]:如何保护我的后端API免受未经授权的访问?
[AN APPROACH WITH A FLAW]
- [方法]:我可以在我的Node JS应用程序中创建一个登录API,该API将接受我从Shibboleth SSO收到的用户名和密码,并在后端生成JWT令牌。并使后端返回该JWT令牌作为响应。用户可以进一步利用它进行API调用。 - [缺陷]:但是这种方法的问题是:我如何验证我从前端收到的用户名和密码的合法性?
因此,我的问题再次是:如何使用Shibboleth SSO作为身份验证机制,使用JWT令牌保护我的Node JS API?希望能得到帮助、指导或正确的方向。谢谢 :)