C# 何时不使用OpenId连接

C# 何时不使用OpenId连接,c#,asp.net-web-api,oauth,openid,openid-connect,C#,Asp.net Web Api,Oauth,Openid,Openid Connect,我们正在构建一个包含webAPI的web应用程序。这些WebAPI还需要向其他应用程序公开(不同子域上的其他内部应用程序或第三方应用程序)。我们正在考虑使用openidconnect,这样不仅可以提供access\u令牌,还可以提供id\u令牌进行身份验证 现在的问题是“我的主应用程序是否也应该使用openId connect”进行身份验证/授权。我不赞成这个。根据我的理解,只有外部应用程序才应该使用openid connect来使用主应用程序的资源。内部应用程序(主应用程序和不同子域上的应用程

我们正在构建一个包含webAPI的web应用程序。这些WebAPI还需要向其他应用程序公开(不同子域上的其他内部应用程序或第三方应用程序)。我们正在考虑使用openidconnect,这样不仅可以提供access\u令牌,还可以提供id\u令牌进行身份验证

现在的问题是“我的主应用程序是否也应该使用openId connect”进行身份验证/授权。我不赞成这个。根据我的理解,只有外部应用程序才应该使用openid connect来使用主应用程序的资源。内部应用程序(主应用程序和不同子域上的应用程序)可以使用常规的基于cookie的身份验证

例如,主应用程序是MyWebApp.com(也包括webapi)。其他内部应用程序包括maps.MyWebApp.com、admin.MyWebApp.com、payroll.MyWebApp.com

其他第三方应用程序可以是OtherWebApp.com

请建议。

“我的主应用程序是否也应该使用openid connect?” 优势 -为单点登录铺平道路 -模块化身份验证,因此您不会实现不同的身份验证解决方案。 -您可以选择从主应用程序使用相同的Web api。(尽管您可以只使用oauth2客户机凭据流,只需跳过openid连接身份验证部分) 缺点 -如果您只有一个客户端应用程序,那么这可能是过度使用 -通过使应用程序依赖于身份验证服务器应用程序,您增加了应用程序的复杂性(但模块化也有优势)


我不完全了解你的情况,但我倾向于同意。尽管如此,我还是肯定会关闭oauth2中的同意屏幕,以显示您受信任的主应用程序。如果您不使用openid connect进行身份验证,那么将主应用程序转换为以后使用它应该不会太困难

Hi-sdoxsee,我的应用程序是一个SPA(具有多个模块)。每个模块的登录页都由asp.net MVC提供服务。简而言之,它是webapi和服务器端页面的混合体。哪种方法可以保护webapi和cshtml视图?