所以我有一个使用 api 的客户端。API 由 keycloak 保护。用户正常登录,但我希望允许用户登录用户,而无需使用他们的社交媒体帐户(如 facebook 或 google)访问 keycloak 的登录页面。我需要一个包含如何获取生成 url 的实现的 rest API,以便当用户在按钮中单击此 url 时,它将把用户带到相应的社交登录页面进行登录,而 keycloak 仍然充当代理。
下面是我的实现,它生成了一个 url,但不会将用户带到 google 页面登录
这是一个休息控制器
@Secured("permitAll")
@GetMapping(path = "/generator")
public String brokerGenerator(HttpServletRequest httpServletRequest) throws ServletException {
String provider = "google";
String authServerRootUrl = "http://localhost:8080/";
String realm = "realmName";
String clientId = "clientName";
String nonce = UUID.randomUUID().toString();
MessageDigest md = null;
try {
md = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
String input = nonce + clientId + …Run Code Online (Sandbox Code Playgroud)