小程序出现【需要身份验证】弹窗解决办法
问题:在做微信小程序请求后端接口的时候,需要使用到
Authriation
进行授权,结果每次登录的时候都会出现这个弹窗。对Authriation
不熟悉的,可以去阅读 阮一峰-理解OAuth 2.0
原因
部分代码如下,按说使用了Authriation
授权时,会将用户名和密码用 base64 进行编码然后放到header
中传入后端代码,就像 ‘Authorization’: ‘Basic V0VDSEFUOldFQ0hBVA=’,在服务端也会有固定的用户名密码,与之比较,相同则身份通过,否则不通过才会出现上述这种弹窗。
解决
对用户名和密码进行 base64 编码, 如下图:
在输入框中输入用户名和密码,格式为:用户名:密码,比如WECHAT:WECHAT
,也就是用户名是WECHAT
,密码也是WECHAT
。使用正确的编码之后,因为用户名和密码都正确,所以就不会再出现那种要求验证身份的对话框了
1 | wx.request({ |
注意
使用 base64 进行编码时,要注意不要多加了换行或者空格,得到的结果都是不一样的。
出现验证身份对话框的情景总结如下:
- 用户名和密码错误;
- 用户名和密码正确,但是使用 base64 编码错误,常见情形:多加了换行符或者空格符。