跨域 POST 表單提交後,B 站後台 Page_Load 中 Request.Form 為空,或因跨域策略被瀏覽器攔截。
state 參數的授權鏈接跳轉 A 站:https://A.com/auth?redirect=B.com/callback&state=xxxHttpClient POST 到 B 站回調接口(B.com/callback),攜帶用戶信息與 state。state,存儲用戶信息至 Session/Redis,返回成功頁面或重定向前端。<!-- A 站授權成功頁面 -->
<form id="postForm" action="https://B.com/callback" method="post">
<input type="hidden" name="openid" value="@Model.OpenId" />
<input type="hidden" name="nickname" value="@Model.NickName" />
<!-- 其他字段 -->
</form>
<script>document.getElementById('postForm').submit();</script>
需確保 B 站接口允許跨域 POST(配置 CORS 或同域部署)。
state 參數防 CSRF,綁定用戶會話。scope=snsapi_userinfo 才能獲取昵稱等詳細信息。