【问题标题】:how to pass http authentication headers in spring boot如何在 Spring Boot 中传递 http 身份验证标头
【发布时间】:2022-02-19 01:49:53
【问题描述】:

我正在定制我的 Spring Boot 授权服务器。使用我创建的 html 页面中的用户名和密码登录后,我需要重定向回 /oauth/token 端点,以获取访问令牌。 使用邮递员时工作正常。但是,当我将 defaultsuccessurl 作为 /ouath/token 时,它会显示一个默认登录页面来输入用户名和密码,这是来自邮递员的基本身份验证用户名和密码。 因此,为了从前端获取访问令牌,我需要将基本身份验证详细信息添加为 http 标头。我不知道在哪里添加 HTTP 标头以及如何在使用前端成功登录后使用它来获取访问令牌。

任何帮助表示赞赏

【问题讨论】:

    标签: html spring-boot oauth authorization


    【解决方案1】:

    有多种方法可以做到这一点。一种方法是:与 html 一起,您可以使用 Javascript 设置 HttpHeaders 并发送请求。下面是一个示例代码 sn-p(虽然不完整)

    var user = "user1"; //ideally this should come from Input field in html page
    var password = "MySecret";//ideally this should come from password field in html page
    
    // var authorizationBasic = $.base64.btoa(user + ':' + password);
    var authorizationBasic = window.btoa(user + ':' + password);
    
    var request = new XMLHttpRequest();
    request.open('POST', oAuth.AuthorizationServer, true);
    request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
    request.setRequestHeader('Authorization', 'Basic ' + authorizationBasic);
    request.setRequestHeader('Accept', 'application/json');
    request.send("<requestURL>");
    

    【讨论】:

    • 任何可用的工作示例@charybr
    猜你喜欢
    • 2019-02-21
    • 2021-08-17
    • 2014-07-29
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 2011-11-13
    • 2013-08-31
    • 1970-01-01
    相关资源
    最近更新 更多