使用oauth认证和授权angular和.Net核心应用程序

问题描述 投票:0回答:1

我有一个带有.Net核心后端的有角度的应用程序。我正在尝试使用OpenIdConnect(Okta作为IDP)来实现SSO。

什么是最好的方法?使用angular-oauth2-oidc从angular应用程序进行身份验证?还是使用Microsoft.AspNetCore.Authentication.OpenIdConnect在后端上完成?

我的起点应该在哪里?我还想确保经过身份验证或授权的用户能够从浏览器或Swagger调用Api端点。

要在具有UI和后端的应用程序中更通用,SSO如何工作?后端代码应处理登录过程吗?

感谢

.net angular asp.net-core single-sign-on okta
1个回答
0
投票

您应该在angular应用程序中实现身份验证。由于Oktais是您的身份验证/ SSO服务,通常的过程是将用户重定向到Okta的登录页面进行登录,在用户输入凭据并且Okta验证凭据之后,用户将使用代码重定向回您的角度应用程序(如果使用授权代码流+ PKCE),您的应用程序会将请求发送到Okta服务,并提供获取ID令牌和访问令牌的代码,访问令牌可用于访问受保护的Web api。

对于角度应用程序,可以使用Okta Angular SDKOkta Auth JavaScript SDK(Auth SDK是比Okta Angular SDK低的SDK)。您可以参考以下文章以获得教程和代码示例:

https://developer.okta.com/quickstart/#/angular/nodejs/generic

这里是另一篇文章,提供了以asp.net核心Web api作为后端的详细步骤:

https://developer.okta.com/blog/2018/04/26/build-crud-app-aspnetcore-angular

PKCE流程概述:

https://developer.okta.com/docs/guides/implement-auth-code-pkce/overview/

© www.soinside.com 2019 - 2024. All rights reserved.