我们正在构建一个新的应用程序,它需要访问特定的客户数据,而OAuth似乎绝对适合我们的需求--长期访问令牌、授予对特定资源或作用域的访问权限等。我们不是,而是在这里寻找“使用Facebook登录”类型的功能;我们希望基于现有的客户登录数据库公开一个特定的OAuth身份验证服务器,并允许web和本地应用程序通过这个端点对用户进行身份验证。
我一直在查看DotNetOpenAuth代码示例,似乎所有的OAuth 2示例都使用OpenID来执行初始身份验证,然后使用OAuth来实际授权对资源的访问。
我的理解是,您可以使用“非操作授权”来执行初始身份验证,允许您在整个过程中使用OAuth2;由于我们不想支持联邦身份验证,所以OpenID实际上没有提供任何内容,因此如果可能的话,我宁愿使用单一协议来简化。
是否有一个使用OAuth2构建纯.NET身份验证服务器的好例子?我是否误解了DotNetOpenAuth提供的示例代码?还是初始身份验证阶段仍然需要OpenID?
发布于 2013-08-14 14:43:13
OAuth2.0和OpenId之间没有耦合关系。您可以在OAuth2.0实现中实现您的自定义登录策略。
因为您将成为“资源所有者”(据我所知,您的应用程序拥有用户群),您可以简单地在DNOA授权服务器示例中用标准的asp.net登录替换openid登录。
OAuth2.0协议只需验证用户身份就可以发出访问令牌:如何验证该身份完全取决于您。
https://stackoverflow.com/questions/18144974
复制相似问题