首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角: http post方法,如何传递带有“用户名”和“密码”的“Basic Auth”的正文和标头

角: http post方法,如何传递带有“用户名”和“密码”的“Basic Auth”的正文和标头
EN

Stack Overflow用户
提问于 2019-06-12 03:30:25
回答 3查看 666关注 0票数 1

我在春季启动时实现了宣誓,并且与邮递员一样,登录服务运行良好(生成令牌),使用以下参数

邮递员:身体:

代码语言:javascript
复制
selected: application/x-www-form-urlencoded

密钥&值

代码语言:javascript
复制
grant_type : password
username : app123
password : app@123

Authorization:

精选:基本八月

Uasename : appsec

密码: secpass

这是很好的工作,但当尝试从角度,它是不工作的。

我尝试使用“const”并设置“var”

1)

代码语言:javascript
复制
const httpOptions = {
  headers : new HttpHeaders({'Content-Type':'application/x-www-form-urlencoded','Username':'appsec','Password':'secpass'})
};

export class AuthenticationService {

  login(username: string, password: string, grant_type:"password") {

    return this.http.post<any>(`http://localhost:9191/oauth/token`, { username, password, grant_type} ,{ headers:httpOptions})

}

2)

代码语言:javascript
复制
login(username: string, password: string, grant_type:string) {

    var reqHeader = new HttpHeaders({'context-Type':'application/x-www-form-urlencoded','Basic Auth':'True','Username':'appsec','Password':'secpass'});

    return this.http.post<any>(`http://localhost:9191/oauth/token`, { username, password, grant_type} ,{ headers:reqHeader})
}

在标题部分中,错误为

代码语言:javascript
复制
reqHeader = HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
EN

回答 3

Stack Overflow用户

发布于 2019-06-12 04:30:34

1) Wtih 'Content-Type':‘application/x form-urlencoded’,您必须发送字符串体:

代码语言:javascript
复制
 const body = JSON.stringify({username: userName, password: password, grant_type:grant_type });

2)要检查控制台中的标题,请尝试点击以下命令:

代码语言:javascript
复制
req.headers.keys();

干杯(y)

票数 2
EN

Stack Overflow用户

发布于 2019-06-12 03:45:02

在标题中:

代码语言:javascript
复制
var reqHeader = new HttpHeaders({'context-Type':'application/x-www-form-urlencoded','Basic Auth':'True','Username':'appsec','Password':'secpass'});

请尝试:

代码语言:javascript
复制
var reqHeader = new HttpHeaders({'Content-Type':'application/x-www-form-urlencoded','Basic Auth':'True','Username':'appsec','Password':'secpass'});

因为:“上下文-类型”不是有效的标题。

另外,我不知道为什么要在头和正文中设置用户凭据,在主体中设置凭据(用户名、密码、授予)就足够了。

票数 0
EN

Stack Overflow用户

发布于 2019-06-12 04:00:36

您应该在Authorization中添加HttpHeaders作为Basic Auth。

代码语言:javascript
复制
new HttpHeaders({
 'Content-Type': 'application/x-www-form-urlencoded',
 'Authorization', 'Basic ' + btoa('appsec:secpass')
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56554310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档