我们正在构建一个需要访问特定客户数据的新应用程序,而 OAuth 似乎非常适合我们的要求 - 长期访问令牌、授予对特定资源或范围的访问权限的能力等等。我们在这里寻找的不是“使用 Facebook 登录”类型的功能;我们希望基于我们现有的客户登录数据库公开一个单一的、特定的 OAuth 身份验证服务器,并允许 Web 和本机应用程序通过此端点对用户进行身份验证。
我一直在查看 DotNetOpenAuth 代码示例,似乎所有 OAuth 2 示例都使用 OpenID 执行初始身份验证,然后使用 OAuth 实际授权访问资源。
我的理解是您可以使用“无操作授权”来执行初始身份验证,从而允许您在整个过程中使用 OAuth2;因为我们不想支持联合身份验证,OpenID 实际上并没有提供任何东西,所以如果可能的话,为了简单起见,我宁愿坚持使用单一协议。
是否有使用 .NET 构建的纯 OAuth2 身份验证服务器的好例子?我是否误解了 DotNetOpenAuth 提供的示例代码?还是初始身份验证阶段仍需要 OpenID?