服务端 Web 应用
import { Steps } from ‘@astrojs/starlight/components’;
服务端 Web 应用可以安全保存 client_secret。仍必须使用 PKCE,它与 state、nonce 一起抵御授权码注入和跨站请求伪造。
GET /oauth/authorize? response_type=code& client_id=YOUR_CLIENT_ID& redirect_uri=https%3A%2F%2Fexample.com%2Foauth%2Fcallback& scope=openid%20profile%20email& state=RANDOM_STATE& nonce=RANDOM_NONCE& code_challenge=BASE64URL_SHA256& code_challenge_method=S256 HTTP/1.1Host: account.ylfcat.topcurl -X POST https://account.ylfcat.top/oauth/token \ -u "$CLIENT_ID:$CLIENT_SECRET" \ -H 'content-type: application/x-www-form-urlencoded' \ --data-urlencode grant_type=authorization_code \ --data-urlencode code="$CODE" \ --data-urlencode redirect_uri=https://example.com/oauth/callback \ --data-urlencode code_verifier="$CODE_VERIFIER"redirect_uri 必须与发起授权时以及开放平台登记的字符串完全一致,包括协议、大小写、端口、路径与末尾斜杠。