登陆助手
分享登录开发:PHP / Java / QQ 登录 + 微信登录对接方式
快速导航
PHP:账号密码登录(示例)
后端生成会话 / Token,前端保存并携带请求
接口建议
POST /api/login
Body: {"username":"...","password":"..."}
Resp: {"token":"...","user":{"id":1,"name":"..."}}
PHP(伪代码示例)
<?php
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';

$user = findUserByUsername($username);
if (!$user || !password_verify($password, $user['password_hash'])) {
  http_response_code(401);
  echo json_encode(['message' => 'invalid credentials']);
  exit;
}

$token = issueToken($user['id']);
echo json_encode(['token' => $token, 'user' => ['id' => $user['id'], 'name' => $user['name']]]);
?>
微信登录(适配到 PHP 后端)
小程序端调用 wx.login 拿到 code,发给后端;后端用 code2session 换取 openid / session_key,再建立你自己的登录态(Token 或 Session)。
POST /api/wx/mp/login
Body: {"code":"wx.login返回的code"}
Resp: {"token":"...","openid":"..."}
Java:账号密码登录(示例)
Spring Boot 常见做法:JWT / Session
接口建议
POST /api/login
Body: {"username":"...","password":"..."}
Resp: {"token":"..."}
Java(伪代码示例)
@PostMapping("/api/login")
public LoginResp login(@RequestBody LoginReq req) {
  User user = userService.findByUsername(req.getUsername());
  if (user == null || !passwordEncoder.matches(req.getPassword(), user.getPasswordHash())) {
    throw new ResponseStatusException(HttpStatus.UNAUTHORIZED, "invalid credentials");
  }
  String token = tokenService.issue(user.getId());
  return new LoginResp(token);
}
微信登录(适配到 Java 后端)
同样是 codeopenid,Java 侧调用微信接口后,落库/绑定用户,再签发你自己的 Token。
POST /api/wx/mp/login
Body: {"code":"..."}
Resp: {"token":"...","openid":"..."}
QQ 登录:OAuth2 授权登录(站点/网页)
典型流程:跳转授权 → 回调拿 code → 换 access_token → 拉取用户信息
流程要点
在 QQ互联 创建应用,拿到 AppID / AppKey,配置回调域名。
前端引导用户跳转到授权地址(带 redirect_uristate)。
回调后后端用 codeaccess_token,再拉取 openid 与用户信息。
后端签发你自己的 Token,前端保存并用于后续请求。
授权地址(示例)
https://graph.qq.com/oauth2.0/authorize
  ?response_type=code
  &client_id=你的AppID
  &redirect_uri=https%3A%2F%2F你的域名%2Fapi%2Fqq%2Fcallback
  &state=随机字符串
微信登录(站点/网页的微信开放平台)
如果是网页微信登录,一般走“微信开放平台网站应用”OAuth:跳转微信扫码授权 → 回调拿 code → 换 access_token → 拉 unionid/openid → 绑定账号 → 签发你自己的 Token。
GET /api/wx/web/authorize (后端生成微信授权跳转)
GET /api/wx/web/callback?code=...&state=...