delphi – 如何使用datasnap获取作为标头传递的标记?

前端之家收集整理的这篇文章主要介绍了delphi – 如何使用datasnap获取作为标头传递的标记?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的客户端应用程序中,我使用以下代码在标头中添加令牌:
RESTRequest.Params.AddItem('Authorization','Bearer ' + MyToken,TRESTRequestParameterKind.pkHTTPHEADER,[TRESTRequestParameterOption.poDoNotEncode]);

我想使用datasnap在我的服务器中获取此令牌.

我尝试过使用herehere的答案,但没有成功.

可能吗?

我怎样才能做到这一点?

编辑

我可以验证Datasnap是否执行了TIdCustomHTTPServer.DoParseAuthentication,并且如果分配了DoParseAuthentication则调用FOnParseAuthentication.

那么,我怎样才能破解Datasnap分配我自己的OnParseAuthentication?

我认为这解决了我的问题.

解决方法

我也有同样的问题.如果使用Authentication头,那么我们得到EIdHTTPUnsupportedAuthorisationScheme错误,我需要设置OnParseAuthentication.我刚刚开始研究这个问题,在测试应用程序“桌面”中我可以做到以下几点.
procedure TMainForm.FormCreate(Sender: TObject);
begin
  FServer := TIdHTTPWebBrokerBridge.Create(Self);
  FServer.OnParseAuthentication := DoParseAuthentication;// <-added this line
end;

现在我需要弄清楚如何更新ASAPI dll来做同样的事情.

猜你在找的Delphi相关文章