C# 在asp.net web api中支持多种身份验证和授权方法

C# 在asp.net web api中支持多种身份验证和授权方法,c#,authentication,asp.net-web-api,oauth,oauth-2.0,C#,Authentication,Asp.net Web Api,Oauth,Oauth 2.0,我正在从事一个asp.NETWebAPI项目,希望使用我公司资源的开发人员可以使用该项目。所以我想支持多种身份验证授权类型,比如(oauth1、oauth2或basichttp…),那么我如何理解用户使用哪个方法来授予对我的api方法的访问权呢?我知道这是一个综合性的问题,但请提供任何资源和示例(抱歉英语不好)您应该决定使用何种授权机制。这是你的API,所以你应该为你的API设置标准。如果您试图满足所有客户端的要求,那么您的API将始终处于维护模式。您只需开始解析用户发送的数据,并对照您支持的方

我正在从事一个asp.NETWebAPI项目,希望使用我公司资源的开发人员可以使用该项目。所以我想支持多种身份验证授权类型,比如(oauth1、oauth2或basichttp…),那么我如何理解用户使用哪个方法来授予对我的api方法的访问权呢?我知道这是一个综合性的问题,但请提供任何资源和示例(抱歉英语不好)

您应该决定使用何种授权机制。这是你的API,所以你应该为你的API设置标准。如果您试图满足所有客户端的要求,那么您的API将始终处于维护模式。您只需开始解析用户发送的数据,并对照您支持的方法的标准进行检查。或者,最好看看Azure AD、Auth0或其他承担不同身份验证服务负担的服务,并为您提供一个协议来处理。您可以提供不同的身份验证机制,如用户名和密码或active directory等。这将是一个非常复杂的解决方案。但是,一旦用户成功通过身份验证,是发布OAuth1令牌的OAuth2令牌还是发布JWT令牌,这应由您决定。