接口协议规则
<h2>一、概述</h2>
<p>鹿小檬聚合登录接口允许开发者借助第三方平台(如 QQ、微信、百度等)的账号体系,实现用户快速登录自有应用,并获取用户信息和授权信息。本接口遵循 OAuth2.0 身份鉴权机制,为确保数据传输的准确性、安全性和兼容性,特制定以下接口协议规则。</p>
<h2>二、传输方式</h2>
<p>采用 HTTP 协议进行数据传输。HTTP 协议是一种广泛应用于 Web 的协议,具有简单、灵活、易于实现等特点,能够满足不同网络环境下的数据交互需求,确保开发者的应用与聚合登录平台之间稳定可靠地传输数据。</p>
<h2>三、数据格式</h2>
<p>数据交换格式统一为 JSON(JavaScript Object Notation)。JSON 以键值对的形式组织数据,具有轻量级、易读易写、便于解析和生成等优势,在不同编程语言和系统之间具有良好的兼容性。无论是请求参数还是返回数据,都以 JSON 格式进行编码和解码,示例如下:</p>
<ul>
<li>请求示例:</li>
</ul>
<p>json</p>
<pre><code>{
&quot;act&quot;: &quot;login&quot;,
&quot;appid&quot;: &quot;your_appid&quot;,
&quot;appkey&quot;: &quot;your_appkey&quot;,
&quot;type&quot;: &quot;qq&quot;,
&quot;redirect_uri&quot;: &quot;http://example.com/callback&quot;
}</code></pre>
<ul>
<li>返回示例:</li>
</ul>
<p>json</p>
<pre><code>{
&quot;code&quot;: 0,
&quot;msg&quot;: &quot;succ&quot;,
&quot;type&quot;: &quot;qq&quot;,
&quot;url&quot;: &quot;https://graph.qq.com/oauth2.0/XXXXXXXXXX&quot;
}</code></pre>
<h2>四、字符编码</h2>
<p>统一使用 UTF - 8 字符编码。UTF - 8 是一种可变长度的字符编码,能够支持世界上几乎所有的字符集,确保在数据传输过程中,无论是英文、中文、日文等各种语言文字,还是特殊符号,都能准确无误地进行传输和处理,避免出现乱码问题。</p>
<h2>五、签名与安全机制</h2>
<ol>
<li><strong>签名算法</strong>:目前文档虽未提及具体签名算法,但在实际应用中,为防止数据被篡改和确保请求来源可靠,通常会采用签名机制。例如,常见的签名算法有 HMAC - SHA256 等。开发者在发起请求时,需根据平台规定的签名规则,对请求参数进行签名计算,并将签名结果作为请求参数一同发送。平台在接收到请求后,按照相同的签名规则重新计算签名,并与接收到的签名进行比对,若一致则认为请求合法。</li>
<li><strong>OAuth2.0 身份鉴权</strong>:本聚合登录接口完全符合 OAuth2.0 身份鉴权机制。OAuth2.0 是一种授权框架,通过引入授权服务器,实现资源所有者(用户)、客户端(开发者应用)和资源服务器(第三方平台)之间的安全授权。在登录流程中,用户在第三方平台授权后,第三方平台会向聚合登录平台颁发授权码(Authorization Code),聚合登录平台再用授权码换取访问令牌(access_token),开发者应用凭借访问令牌获取用户信息,整个过程保障了用户账号信息的安全和隐私。</li>
</ol>