delphi – 如何使用datasnap获取作为标头传递的标记?  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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


在我的客户端应用程序中,我使用以下代码在标头中添加令牌:
RESTRequest.Params.AddItem('Authorization','Bearer ' + MyToken,TRESTRequestParameterKind.pkHTTPHEADER,[TRESTRequestParameterOption.poDoNotEncode]);
我想使用datasnap在我的服务器中获取此令牌.

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

可能吗?

我怎样才能做到这一点?

编辑

我可以验证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 – 如何使用datasnap获取作为标头传递的标记?全部内容,希望文章能够帮你解决delphi – 如何使用datasnap

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.21173095703125 seconds