通过 openid 连接规范注册最终用户

Med*_*tor 5 openid-provider oauth-2.0 openid-connect

我找不到在 openid connect 中注册最终用户的规范。

也许,你知道怎么做吗?

我有一些想法,但我正在寻找官方答案。

jua*_*ren 6

当他们谈论最终用户的身份验证时,这部分被隐式包含在内。

当您的提供商尝试对最终用户进行身份验证(通过显示登录表单)时,如果用户没有帐户,您可以:

  • 在与登录相同的视图中显示注册表单。
  • 在视图中的某个位置放置一个链接(例如“创建帐户”)。

在这两种情况下,您都会有一个“next”或“redirect_to”(无论您喜欢如何称呼它),它们都会对 OpenID 身份验证请求 URL 安全进行编码(或 OAuth2 授权请求)。

看一个例子:

# Auth Request from some client.
/openid/authorize?client_id=123&redirect_uri=http%3A%2F%2Fexample.com%2F&response_type=code&scope=openid%20profile%20email&state=abcdefgh

# Because user is not logged, you attempts to Authenticate it.
/login?next=%2Fopenid%2Fauthorize%3Fclient_id%3D123%26redirect_uri%3Dhttp%253A%252F%252Fexample.com%252F%26response_type%3Dcode%26scope%3Dopenid%2520profile%2520email%26state%3Dabcdefgh

# Because user is not registered. You provide a link like this.
/register?next=%2Fopenid%2Fauthorize%3Fclient_id%3D123%26redirect_uri%3Dhttp%253A%252F%252Fexample.com%252F%26response_type%3Dcode%26scope%3Dopenid%2520profile%2520email%26state%3Dabcdefgh

# After registration. The flow will continue.
Run Code Online (Sandbox Code Playgroud)

希望你能理解。问候。