1

我们正在构建一个需要访问特定客户数据的新应用程序,而 OAuth 似乎非常适合我们的要求 - 长期访问令牌、授予对特定资源或范围的访问权限的能力等等。我们在这里寻找的不是“使用 Facebook 登录”类型的功能;我们希望基于我们现有的客户登录数据库公开一个单一的、特定的 OAuth 身份验证服务器,并允许 Web 和本机应用程序通过此端点对用户进行身份验证。

我一直在查看 DotNetOpenAuth 代码示例,似乎所有 OAuth 2 示例都使用 OpenID 执行初始身份验证,然后使用 OAuth 实际授权访问资源。

我的理解是您可以使用“无操作授权”来执行初始身份验证,从而允许您在整个过程中使用 OAuth2;因为我们不想支持联合身份验证,OpenID 实际上并没有提供任何东西,所以如果可能的话,为了简单起见,我宁愿坚持使用单一协议。

是否有使用 .NET 构建的纯 OAuth2 身份验证服务器的好例子?我是否误解了 DotNetOpenAuth 提供的示例代码?还是初始身份验证阶段仍需要 OpenID?

4

1 回答 1

1

OAuth2.0 和 OpenId 之间没有耦合关系。您可以在 OAuth2.0 实施中实施您的自定义登录策略。

由于您将成为“资源所有者”(据我了解,您的应用程序拥有用户群),您可以简单地将 DNOA 授权服务器示例中的 openid 登录替换为标准的 asp.net 登录。

OAuth2.0 协议只需验证用户身份即可发出访问令牌:如何验证该身份完全取决于您。

于 2013-08-14T14:43:13.900 回答