Azure Static Web App登录后能否保留原请求的查询字符串参数
解决方法
你可以通过修改staticwebapp.config.json中的401重定向规则,使用Azure Static Web App原生支持的{requestUrl}占位符传递原始请求地址,即可完整保留所有查询参数:
修改后的完整配置
{ "auth": { "identityProviders": { "google": { "registration": { "clientIdSettingName": "GOOGLE_CLIENT_ID", "clientSecretSettingName": "GOOGLE_CLIENT_SECRET" } } } }, "routes": [ { "route": "/", "allowedRoles": ["authenticated"] } ], "responseOverrides": { "401": { "redirect": "/.auth/login/google?post_login_redirect_uri={requestUrl}", "statusCode": 302 } } }
规则说明
{requestUrl}是Azure Static Web App内置的占位符,会自动替换为用户发起请求的完整原始URL,包含所有路径和查询参数post_login_redirect_uri是官方登录接口的标准回调参数,身份验证完成后会自动跳转到该参数指定的地址- 该配置同时适配线上环境和本地SWA CLI调试环境,你测试的
http://localhost:4280/?container=123场景下,登录完成后会直接跳转回带container=123参数的原地址。
内容的提问来源于stack exchange,提问作者Serge van den Oever
相关产品推荐
相关产品推荐

