Hom*_*mam 5 openid authentication oauth-2.0 asp.net-web-api
我想为我的Web API构建基于令牌的身份验证,让第三方应用程序访问这些API.
没有用户交互,没有委派,角色和连接的应用程序是从管理门户手动管理的.
有了这些要求,获取jwt令牌的最佳做法是什么?
我是否需要OpenID或OAuth2等协议,或者只是公开一个带有APIKey的端点,如果APIKey有效,它将返回一个安全令牌?
首先,我想解释OAuth和OpenID之间的区别.用户adrianbanks在这个答案中对比了两个.总而言之,OpenID是关于身份验证 - 证明你是谁.虽然OAuth涉及授权 - 您是否可以访问功能,数据和应用程序.现在,回到你的问题.
无论您是否需要OAuth,都应该查看OWIN(.NET的开放式Web界面)中间件.我们目前正在使用OWIN通过其OAuth 2.0授权服务器功能实现我们自己的开放API .但是,OWIN不仅限于实现OAuth身份验证服务器.绝对要看看它是否适合您的需求.
对于您的情况,可能没有必要实施OAuth 2.0; 但是,这是我推荐的.对于这个问题,这是一个好的,安全的解决方案.它不仅可以解决这个问题,而且将来如果您想允许用户授权第三方集成,OAuth - 更安全的选项 - 将已经实施.
如果您没有使用第三方集成的用户,则可以使用API密钥.只要您以安全的方式实施它,这是一个不错的选择.如果这更符合您的要求,请阅读此文章,了解如何使用API密钥安全地验证(和授权)ASP.NET Web API项目的第三方应用程序.
| 归档时间: |
|
| 查看次数: |
5650 次 |
| 最近记录: |