gpt4 book ai didi

oauth2 的 java Rest jersey 重定向不起作用

转载 作者:行者123 更新时间:2023-12-01 12:45:22 24 4
gpt4 key购买 nike

我正在使用 jersey 2 编写一个 java rest 模块,其第一步是从外部 Oauth2 服务器获取用户凭据。当我尝试将用户重定向到身份验证服务时,我看到 url 已正确生成,但它保留在该位置。这是我正在执行的代码:

  @GET
public String inOk(
@DefaultValue("") @QueryParam("code") String inoauthcode)
{
String oauthserv = "https://xxx";
String oauthclientid = "xxx";
String oauthsecret = "xxxx";
String oauthredirect = "http://myapp/url";
String oauthurl = "xxxx";
String redurl = "http";
String authurl = "http";

if (inoauthcode.equals("")) {
redurl = oauthserv + "?response_type=code&client_id=" + oauthclientid + "&redirect_uri=" + oauthredirect;
URI uri = UriBuilder.fromUri(redurl).build();
Response.temporaryRedirect(uri);
}
authurl = oauthurl + inoauthcode + "&redirect_uri=" + oauthredirect + "&client_id=" + oauthclientid + "&client_secret=" + oauthsecret;
...REST OF CODE ...
}

如果我将生成的 url 写入屏幕,它可以正常工作,但 temporRedirect 命令没有执行任何操作(显然)。

我做错了什么?我是不是忘记了什么?该代码几乎是直接从本论坛中提出的类似问题中复制而来,但我无法让它工作。

最佳答案

这次很简单,但花了很长时间才弄清楚。

函数的输出不应该是字符串,而是响应:

 public String inOk(

重定向命令应如下所示:

return Response.seeOther(uri).build();

现在它可以工作了。

关于oauth2 的 java Rest jersey 重定向不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24757076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com