加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 04:05:05 所属栏目:大数据 来源:网络整理
导读:在我的客户端应用程序中,我使用以下代码在标头中添加令牌: RESTRequest.Params.AddItem('Authorization','Bearer ' + MyToken,TRESTRequestParameterKind.pkHTTPHEADER,[TRESTRequestParameterOption.poDoNotEncode]); 我想使用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来做同样的事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读