使用CTP示例Oauth提供程序登录的openID的格式是什么

时间:2012-02-05 17:39:26

标签: dotnetopenauth

嗨,我刚刚开始使用v4 CTP,所以我可以看到我发布一些基本问题,因为我已经开始了解它。我想创建一个服务提供者,所以我正在查看WCF Oauth2

首先,当我去登录时,OpenID的格式与提供的数据库一起使用是什么?这是什么过程。我假设我会被重定向到我输入密码的屏幕?那与数据库交互?

干杯,克里斯。

1 个答案:

答案 0 :(得分:0)

示例OAuth2 Authorization Server的数据库仅包含几个示例客户端条目,以便示例客户端可以发出请求。它有一个用户表,由使用其OpenID成功登录的每个用户自动填充。因此,对于您要使用的“OpenID格式”的问题,任何有效的OpenID 1.1 / 2.0标识符都可以使用。

OAuth2授权服务器示例在这方面兼作OpenID依赖方,但其OpenID功能不是样本的主要内容 - 还有其他示例OpenID RP站点在这方面展示了更多功能。但是,以这种方式耦合OAuth2 auth服务器和OpenID RP,流程是:

  1. 用户访问OAuth2客户端站点并向客户端指示它可以请求访问资源服务器上的用户数据。
  2. 客户端将用户重定向到授权服务器,以便用户可以授予权限。
  3. 如果尚未登录,则授权服务器会提示用户登录。
    1. 用户输入OpenID
    2. 授权服务器将用户重定向到其OpenID提供程序,以使用某些凭据(用户名/密码,信息卡等)登录。
    3. OpenID Provider将用户重定向回授权服务器。
  4. 授权服务器示例然后询问用户“你想与客户[y]共享资源[x]吗?”用户确认。
  5. 授权服务器记录用户授权的客户端[y]访问[x],以便该客户端对该资源的未来请求可以自动批准,无需用户干预。
  6. 授权服务器使用授权授权将用户重定向回客户端。
  7. 客户端收到授权以及用户重定向,并使用直接HTTP请求与auth服务器交换该授权以获取访问令牌(可能还有刷新令牌)。
  8. 客户端然后在对资源服务器的HTTP请求中包含访问令牌以访问用户的私有数据。
  9. 我希望有所帮助。