轻应用开发指南

创建轻应用

• 在以下位置可创建应用:

    开放平台管理中心

创建应用位置2

技术开发

    应用信息保存成功后,将会获得该应用的AppID和AppSecret,您可以通过这两个备案凭证开始进行相关的技术开发工作。 AppID是应用的唯一标识,开放平台通过AppID来鉴别应用的身份。AppSecret是给应用分配的密钥,开发者需要妥善保存这个密钥,这个密钥用来保证应用来源的的可靠性,防止被伪造。

    应用服务器需由开发者自行解决,long88开放平台不提供服务器资源。

• 轻应用授权设计流程

授权设计流程

• 如何解析框架提供的用户授权信息

    long88轻应用框架服务通过get方式在long88客户端webview或浏览器重定向加载应用实际地址,以提供给应用用户授权状态和基本信息数据, 请避免应用实际地址使用自带get参数。加密字符串使用了AES-128-CBC对称加密算法,其中应用的AppSecret为解密的密钥,AppID为向量。 原32字符长度appID应用依旧采用AES-256-CBC对称加密算法。

PHP版本的解密代码:

<?php
  $postObject = addslashes($_GET["verify_request"]);//获取verify_request参数值
  $postStr = pack("H*", $postObject);
  $appID = "";//应用appID
  $appSecret = "";//应用appSecret
  $postInfo = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $appSecret, $postStr, MCRYPT_MODE_CBC, $appID);
/* 适用于php7.1+
  $postInfo = openssl_decrypt(
    $str, "AES-256-CBC", $appSecret,
    OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $appID
  );
*/
  $postInfo = rtrim($postInfo);
?>

Java版本的AES封装库参考:(原码引用于https://www.cnblogs.com/grimm/p/7233050.html

显示引用原码

    解密后将会得到一个json数组,用户是否授权都会在数组中呈现。

    未授权时的信息:

{
  "visit_time":访问unix时间戳,
  "visit_user":{
    "userid":"long88用户ID"
  },
  "visit_oauth":false
}

    已授权时的信息:

{
  "visit_time":访问unix时间戳,
  "visit_user":{
    "userid":"long88用户ID",
    "username":"long88用户名",
    "usernick":"long88用户昵称",
    "usersex":"long88用户性别"
  },
  "visit_oauth":{
    "access_token":"授权凭证",
    "token_expires":"有效unix时间戳"
  },
}

    通过判断json数组中的visit_oauth项的值,来识别来访用户是否已经授权。如果没有授权,则重定向至授权页面引导用户授权。

• 如何发起应用授权

    引导需要授权的用户重定向至如下地址:

https://oauth.yiban.cn/code/html?client_id=APPID&redirect_uri=CALLBACK&state=STATE
其中:
  APPID为应用的AppID,在管理中心应用信息中可见
  CALLBACK为站内地址,在管理中心应用信息中可见
  STATE为开发者自行设定的防跨站伪造参数

    用户完成授权后,重定向至站内地址,重新判断访问用户授权信息。

如何使用long88开放接口

    应用视实际功能需求情况调用long88开放接口,接口调用规则详见 long88api

    部分接口需要一定的应用权限才能调用,应用权限申请详见 应用权限申请

授权开发参考

轻应用授权demo(php)

通用授权SDK下载