Keycloak 密钥斗篷中的授权代码授权流
我是新手,读了很多书之后,我觉得我不太明白如何在keydepeat中实现授权代码流。 我的疑问是:Keycloak 密钥斗篷中的授权代码授权流,keycloak,openid-connect,Keycloak,Openid Connect,我是新手,读了很多书之后,我觉得我不太明白如何在keydepeat中实现授权代码流。 我的疑问是: 创建支持此流的客户端后,如何执行凭据验证?默认情况下,如果我没有配置任何东西,我会得到一个登录表单。如果我在浏览器中打开此html并填写用户和密码字段,当我按下按钮时,它会将我发送到类型为“../realms/{REAL_NAME}/login actions/authenticate?session_code=…”的url,但我不明白这是否应该起作用(似乎不起作用),或者是否需要添加身份提供者之
非常感谢你的回答 我的解释可能不太准确,我会提供更多细节。我有一个配置为openid connect并启用标准流的客户端。 当我提出第一个请求时,例如:
curl -v -d "scope=openid&client_id=backend&response_type=code&redirect_uri=https://www.example.com/callback" -H "Content-Type: application/x-www-form-urlencoded" -X POST localhost:8180/auth/realms/myrealm/protocol/openid-connect/auth
我收到一个带有登录表单的HTML。我的问题从这里开始(可能是因为我没有在为此设计的流程中使用浏览器)。如果我将这个html存储在一个文件中,我在浏览器中打开它并尝试输入用户名和密码,我会收到一个错误。如果我打开HTML代码,我可以看到以下操作:
http://localhost:8180/auth/realms/myrealm/login-actions/authenticate?session_code=r8p94ca0Umrc-S9BMPC_U168Vmc9y_KESCEI_dHk52I&execution=b47d36ec-2b7d-4ec3-aaf7-cf68ca5d2380&client_id=backend&tab_id=9UEVmEJPLio
所以我知道我可以通过发送POST请求来继续这个过程,但我不能(我得到了一个带有错误HTML的400)。我的疑问是,这种默认身份验证是否应该能够在不配置任何身份提供程序的情况下完成?我明白,是的,但是怎么做呢
如果我尝试另一个流作为凭据,我将获得一个访问令牌,没有问题,但使用授权代码流,我无法通过登录表单
编辑:当我写一个问题时,我可以在编辑器中看到所有的行,但当它被发布时,第一行消失了(我打招呼的地方),这就是为什么我看起来如此粗鲁,我道歉 非常感谢您的回答 我的解释可能不太准确,我会提供更多细节。我有一个配置为openid connect并启用标准流的客户端。 当我提出第一个请求时,例如:
curl -v -d "scope=openid&client_id=backend&response_type=code&redirect_uri=https://www.example.com/callback" -H "Content-Type: application/x-www-form-urlencoded" -X POST localhost:8180/auth/realms/myrealm/protocol/openid-connect/auth
我收到一个带有登录表单的HTML。我的问题从这里开始(可能是因为我没有在为此设计的流程中使用浏览器)。如果我将这个html存储在一个文件中,我在浏览器中打开它并尝试输入用户名和密码,我会收到一个错误。如果我打开HTML代码,我可以看到以下操作:
http://localhost:8180/auth/realms/myrealm/login-actions/authenticate?session_code=r8p94ca0Umrc-S9BMPC_U168Vmc9y_KESCEI_dHk52I&execution=b47d36ec-2b7d-4ec3-aaf7-cf68ca5d2380&client_id=backend&tab_id=9UEVmEJPLio
所以我知道我可以通过发送POST请求来继续这个过程,但我不能(我得到了一个带有错误HTML的400)。我的疑问是,这种默认身份验证是否应该能够在不配置任何身份提供程序的情况下完成?我明白,是的,但是怎么做呢
如果我尝试另一个流作为凭据,我将获得一个访问令牌,没有问题,但使用授权代码流,我无法通过登录表单
编辑:当我写一个问题时,我可以在编辑器中看到所有的行,但当它被发布时,第一行消失了(我打招呼的地方),这就是为什么我看起来如此粗鲁,我道歉