在我的客户端应用程序中,我使用以下代码在标题中添加标记:
RESTRequest.Params.AddItem('Authorization', 'Bearer ' + MyToken, TRESTRequestParameterKind.pkHTTPHEADER, [TRESTRequestParameterOption.poDoNotEncode]);
我想使用datasnap在我的服务器中获取此令牌。
我尝试过使用here和the second answer to this question的答案,但没有成功。
有可能吗?
我该怎么做?
我可以验证Datasnap
执行TIdCustomHTTPServer.DoParseAuthentication
以及DoParseAuthentication
调用FOnParseAuthentication
是否已分配。
那么,我怎样才能破解Datasnap分配我自己的OnParseAuthentication
?
我认为这可以解决我的问题。
答案 0 :(得分:3)
我有同样的问题。如果使用Authentication头,那么我们得到EIdHTTPUnsupportedAuthorisationScheme错误,我需要设置OnParseAuthentication。我刚刚开始研究这个问题,在测试应用程序“桌面”中我可以做到以下几点。
procedure TMainForm.FormCreate(Sender: TObject);
begin
FServer := TIdHTTPWebBrokerBridge.Create(Self);
FServer.OnParseAuthentication := DoParseAuthentication;// <-added this line
end;
现在我需要弄清楚如何更新ASAPI dll来做同样的事情。