我正在尝试使用ServiceStack与IdentityServer4进行用户登录身份验证。但是,我需要在从登录重定向后将一些参数传回URL。
e.g。 当调用以下需要用户身份验证的API时。我希望在登录后传递var = 123(在state参数中或以任何其他方式)。
http://myserver/myapi/mydto/abc?var=123
我找到以下链接,指出redirect_uri必须完全匹配,不带任何参数。要在登录后将参数传回redirect_uri,它应该使用状态参数
https://github.com/IdentityServer/IdentityServer3/issues/1371
google oauth2 redirect_uri with several parameters
我正在使用ServiceStack Authenticate属性,我不确定在ServiceStack Authenticate管道中我应该在哪里填充该状态参数。
调用此API时,
http://myserver/myapi/mydto/abc?var=123
ServiceStack.AuthenticateAttribute.DoHtmlRedirectIfConfigured 将重定向到此urL:
此URL仅包含重定向参数,未设置状态参数。因此,当生成Authenticate DTO时,其State字段为空。
我看到ServiceStackHost有 OnPreExecuteServiceFilter 。
public virtual object OnPreExecuteServiceFilter(IService service, object request,
IRequest httpReq, IResponse httpRes);
我应该实现OnPreExecuteServiceFilter并使用httpReq中的参数填充请求DTO中的州字段吗?
欢迎任何其他建议。
提前致谢,