我一直在使用 Restlets “ChallengeResponse” 机制在服务器端对用户进行身份验证。
ChallengeResponse challengeResponse = getRequest().getChallengeResponse();
if( challengeResponse == null ){
throw new RuntimeException("not authenticated");
}
String login = challengeResponse.getIdentifier();
String password = new String(challengeResponse.getSecret());
据我了解,“ChallengeResponse”要求将用户名和密码放入标题中。但是,客户端需要将凭据放入 url,如下所示:
https://username:password@www.myserver.com/my_secure_document
当我查看实际发送的内容时,密码似乎是 Base64 编码的
客户端是一个外部 Web 服务 (Twilio),它通过 URL 而不是标头发送身份验证信息....
使用 Restlet 以这种方式进行身份验证的正确方法是什么?