钉钉怎么分享怎么查看无线网密码码给别人

钉钉上,自己手机能登入别人帐号打卡吗_百度知道
钉钉上,自己手机能登入别人帐号打卡吗
我有更好的答案
理论上是可以的,但是如果行政查你就完蛋了,因为这个打卡后面还有一个设备号,每个人的手机设备号都是唯一的,如果设备号不是你的手机的,就会被查到是找人帮打卡。
采纳率:92%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您的位置: > >
钉钉怎么和人密聊?钉钉密聊操作方法教程
发表时间:&&|&&作者:
钉钉app是阿里发布的一款团队企业通讯软件,钉钉有三种登录方式,分别是扫码登录、账号密码登录和验证码登录,新一代的团队沟通方式,引领高效沟通新潮流,很多人都在问钉钉怎么和人密聊?下面请看钉钉密聊操作方法教程。
名称:钉钉
版本:4.5.0
钉钉app下载是阿里巴巴开发的企业通讯软件,为中小企业加强沟通提升效率而研发,现在手机天堂提供钉钉app安卓版以及ios版下载有需要的赶紧来下载哦!
钉钉App是淘宝出品的免费通话软件, 钉钉App同时还是一款专为企业和团队打造的团队IM工具,通过钉钉软件可以在一定程度上提升企业和团队的工作效率,呢钉钉软件团队沟通更方便;那么钉钉怎么和人密聊呢?请看钉钉密聊操作方法教程。
1)打开钉钉,进入屏幕左上角中的【密】,然后点击【开始密聊】;(如下图)
2)选择一个想要发起密聊的联系人,在输入密聊消息后点击【发送】即可。(如下图)
►小编推荐钉钉开放平台 - 文档中心
开放缓存使用

登录至聚石塔首页(http://cloud.tmall.com),选择“产品与服务”下的“开放缓存服务”
选择合适的类型,点击“购买”
付款成功后,购买完成。
OCS的基本操作
1、获取OCS实例列表
登入聚石塔控制台,查看已经开通的OCS服务
2、查询OCS信息
列表中包含了所有的OCS服务,如果需要查询OCS信息,点击“管理”,进入OCS管理控制台
在控制台中,可以对OCS的别名 、客户、备注进行修改,同时也包含了OCS实例的信息(实例ID、内存大小、状态、区域和已用内存),实例详情中包含了内网地址、端口号、访问帐号、内存大小、最大连接数和实例监控项(已用内存、当前QPS、写入次数、读取次数、删除次数、逐出个数和命中率)
3、OCS密码修改
用户可以对OCS进行密码修改
注意:Ⅰ、密码修改的规则
&&&&& Ⅱ、修改成功后的密码对已有连接的应用不受影响,新建连接需输入新密码
4、获取OCS客户端
进入OCS控制台,在OCS客户端页面,可获取第三方开源客户端和更多使用帮助
如何使用OCS
1、获取OCS访问信息
用户在申请OCS实例后,可通过实例详情页获取实例的链接地址、端口号、用户名;并通过兼容Mencache的客户端访问OCS实例。
2、确定开发语言与客户端
OCS的客户端为标准memcached协议,基于memcached binary protocol的任何客户端均可使用。
3、OCS开发示例
package com.aliyun.ocs.
import net.spy.memcached.AddrU
import net.spy.memcached.ConnectionFactoryB
import net.spy.memcached.ConnectionFactoryBuilder.P
import net.spy.memcached.MemcachedC
import net.spy.memcached.auth.AuthD
import net.spy.memcached.auth.PlainCallbackH
import net.spy.memcached.internal.OperationF
import java.io.IOE
import java.util.concurrent.ExecutionE
public class Main {
&&&&public static void main(final String[] args) {
&&&&&&&&MemcachedClient mc =
&&&&&&&&try {
&&&&&&&&&&&&// 指定验证机制,推荐PLAIN,
&&&&&&&&&&&&// 部分客户端存在协议BUG,只能使用PLAIN协议(PlainCallbackHandler)
&&&&&&&&&&&&AuthDescriptor ad = new AuthDescriptor(new String[]{&PLAIN&}, new PlainCallbackHandler(&ocstestuser&, &ocstestpaswd&)); // 用户名,密码
&&&&&&&&&&&&mc = new MemcachedClient(new ConnectionFactoryBuilder()
&&&&&&&&&&&&&&.setProtocol(Protocol.BINARY) // 指定使用Binary协议
.setOpTimeout(100)//设置超时时间为100ms
&&&&&&&&&&&&&&&.setAuthDescriptor(ad)
&&&&&&&&&&&&&&&.build(), AddrUtil.getAddresses(&ocs.aliyun.com:11211&)); //访问地址
&&&&&&&&&&&&OperationFuture&Boolean& future = mc.set(&Hello&, 0, &OCS&); // 异步接口,注意!返回的是Future
&&&&&&&&&&&&future.get(); // future.get() 确保之前(mc.set())操作已经结束
&&&&&&&&&&&&System.out.println(mc.get(&Hello&));
&&&&&&&&} catch (IOException e) {
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&} catch (InterruptedException e) {
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&} catch (ExecutionException e) {
&&&&&&&&&&&&e.printStackTrace();
&&&&&&&&} finally {
&&&&&&&&&&&&if (mc != null)
&&&&&&&&&&&&&&&&mc.shutdown(); // 关闭,释放资源
& 请参考本文安装步骤1.0开始安装步骤
系列及Aliyun Linux 6系列以上版本 请参考本文2.0开始安装步骤
以上系列及Aliyun Linux 5系列版本,请参考本文3.0开始安装步
【32位】版本及Ubuntu Debian等请参考gcc官网gcc编译教程及相关依赖
php memcached扩展不能成功搭建,可以考虑换成手工拼包的形式来访问OCS,连接方式请参考如下链接,示例代码非常简单,与php memcached的区别就是仅支持主流接口,需自己补充某些特定接口,安装及使用方法如下:
及 Aliyun Linux 6系列版本
gcc-c++等组件如没有请执行
【必须要安装GCC& GCC要大于等于4.2】
. rpm –qa|grep php 查看系统中是否有PHP环境,如果没有则安装之;如果有PHP则不要安装!
【PHP要大于等于5.3】
安装SASL相关环境yum install cyrus-sasl-plain cyrus-sasl &cyrus-sasl-devel &cyrus-sasl-lib
安装libmemcached 【版本为libmemcached-1.0.16】
MEMCACHED前需要确认是否有zlib-devel包没有需要执行
安装过程memcached 【版本为memcached-2.1.0】
(如果系统中有两套PHP环境,需绝对路径调用该命令/usr/bin/phpize,该路径为使用OCS的PHP环境路径)
--enable-memcached-sasl
php.ini文件(locate找该文件,如果系统中有两套PHP环境,需找到使用OCS的PHP环境路径,对应修改之),增加extension=memcached.so
扩展必须使用libmemcached 1.0.x的库,低于1.0的库不再能够成功编译。编译 libmemcached时GCC要求在4.2以上。
及 Aliyun Linux 5系列版本 【64位版本】
gcc-c++等组件如没有请执行
. rpm –qa|grep php 查看系统中是否有PHP环境,如果没有则安装之;如果有PHP则不要安装!
安装SASL相关环境yum install cyrus-sasl-plain cyrus-sasl &cyrus-sasl-devel &cyrus-sasl-lib
安装libmemcached &【版本为libmemcached-1.0.2】
MEMCACHED前需要确认是否有zlib-devel包没有需要执行
安装过程memcached(必须是如下版本)
【版本号memcached2.0】
(如果系统中有两套PHP环境,需绝对路径调用该命令/usr/bin/phpize,该路径为使用OCS的PHP环境路径,请在memcached源码目录内执行phpize)
--enable-memcached-sasl
php.ini文件(locate找该文件,yum安装的一般在/etc/php.ini 如果系统中有两套PHP环境,需找到使用OCS的PHP环境路径,对应修改之),增加extension=memcached.so
php –m |grep memcached 如显结果有 memcache 表示环境已支持memcache
#!/usr/bin/env python
import bmemcached
client = bmemcached.Client(('ip:port'), 'user', 'passwd')
print client.set('key', 'value')
print client.get('key')
依赖于bmemcached(支持SASL扩展),下载链接
//g++ -o hello hello.cpp -lmemcached
#include &iostream&
#include &string&
#include &libmemcached/memcached.h&
int main(int argc, char *argv[])
& & memcached_st *memc = NULL;
& & memcached_
& & memcached_server_st *
& & memc = memcached_create(NULL);
& & server = memcached_server_list_append(NULL,&10.X.X.X&,11211,&rc);
& & /* SASL */
& & sasl_client_init(NULL);
& & rc = memcached_set_sasl_auth_data(memc,&user&,&passwd&);
& & if(rc != MEMCACHED_SUCCESS) {
& & & & cout&&&Set SASL err:&&&rc&&
& & rc = memcached_behavior_set(memc,MEMCACHED_BEHAVIOR_BINARY_PROTOCOL,1);
& & if(rc != MEMCACHED_SUCCESS) {
& & & & cout&&&Binary Set err:&&&rc&&
& & /* SASL */
& & rc = memcached_server_push(memc,server);
& & if(rc != MEMCACHED_SUCCESS) {
& & & & cout&&&Connect Mem err:&&&rc&&
& & memcached_server_list_free(server);
& & string key = &TestKey&;
& & string value = &TestValue&;
& & size_t value_length = value.length();
& & size_t key_length = key.length();
& & int expiration = 0;
& & uint32_t flags = 0;
& & //Save data
& & rc=memcached_set(memc,key.c_str(),key.length(),value.c_str(),value.length(),expiration,flags);
& & if(rc == MEMCACHED_SUCCESS){
& & & & cout&&&Save data:&&&value&&& successful!&&&
& & char* result = memcached_get(memc,key.c_str(),key_length,&value_length,&flags,&rc);
& & cout&&&Get value:&&&result&&& successful!&&&
& & //Delete data
& & rc = memcached_delete(memc,key.c_str(),key_length,expiration);
& & if(rc == MEMCACHED_SUCCESS){
& & & & cout&&&Delete key:&&&key&&& successful!&&&
& & //free
& & memcached_free(memc);&
& & return 0;
//依赖libmemcached 链接:
using System.N
using Enyim.C
using Enyim.Caching.C
using Enyim.Caching.M
namespace OCS.Memcached
& & public sealed class MemCached
& & & & private static MemcachedClient MemC
& & & & static readonly object padlock = new object();
& & & & //线程安全的单例模式
& & & & public static MemcachedClient getInstance()
& & & & & & if (MemClient == null)
& & & & & & {
& & & & & & & & lock (padlock)
& & & & & & & & {
& & & & & & & & & & if (MemClient == null)
& & & & & & & & & & {
& & & & & & & & & & & & MemClientInit(); & & & & & & & & & & & &
& & & & & & & & & & }
& & & & & & & & }
& & & & & & }
& & & & & & return MemC
& & & & static void MemClientInit()
& & & & & & //初始化缓存
& & & & & & MemcachedClientConfiguration memConfig = new MemcachedClientConfiguration();
& & & & & & IPAddress newaddress = IPAddress.Parse(System.Net.Dns.GetHostAddresses(&m.ocs.aliyuncs.com&));
& & & & & & IPEndPoint ipEndPoint = new IPEndPoint(newaddress, 11211);
& & & & & & & // 配置文件 - ip
& & & & & & memConfig.Servers.Add(ipEndPoint);
& & & & & & // 配置文件 - 协议
& & & & & &memConfig.Protocol = MemcachedProtocol.B
& & & & & & // 配置文件-权限
& & & & & & memConfig.Authentication.Type = typeof(PlainTextAuthenticator);
& & & & & & memConfig.Authentication.Parameters[&zone&] = &&;
& & & & & & memConfig.Authentication.Parameters[&userName&] = &username&;
& & & & & & memConfig.Authentication.Parameters[&password&] = &password&;
& & & //下面请根据实例的最大连接数进行设置
& & & & & & memConfig.SocketPool.MinPoolSize = 5;
& & & & & & memConfig.SocketPool.MaxPoolSize = 200;
& & & & & & MemClient=new MemcachedClient(memConfig);
& & & & & & & & & }
& & & & & }
调用代码:MemcachedClient MemClient = MemCached.getInstance();
1、OCS产品何时可以上线,试用的OCS到期后是否会停止服务?
OCS产品目前在公测阶段,用户在获取邀请码后可免费开通并试用,产品正式上线时间敬请期待。在产品商业化前,已获取的试用实例不会停止服务(除非阿里按协议提前给出停服通知)。
2 OCS公测阶段可以申请哪些区域的实例
&& OCS公测阶段将仅支持杭州的ECS用户申请,在商业化阶段会提提供杭州、青岛等区域的OCS服务
3、OCS产品的性能如何?
公测阶段暂不提供性能SLA,用户可参考1000+QPS/GB和平均响应时间为5ms。
&&& 对于单进程的压测,OCS表现没有本地Memcached好的原因是,单进程压测没有充分利用OCS的性能,没有达到OCS产品定义的QPS指标,而在多进程的压测下可以充分发挥OCS性能而超过本地Memcached。
4、OCS支持的数据结构?
OCS目前仅支持Key-Value的数据结构,暂不支持List等数据结构。
5、使用OCS如何可以清空缓存?
请登录到OCS控制台,进行实例清空操作。
6、客户端超时时间设置多少比较合理?
根据我们的经验,建议客户端设置超时时间为100ms,可参考以下链接中的Java样例。
7、是否可以使用自己的客户端?
可以,只要满足Memcachedsasl和binary协议的客户端都可以支持。可参考第以下三方客户端信息。(但由客户端导致的问题和损失,阿里云将不承担责任。)
8、OCS与Memcached完全相同吗?如果不是,有哪些差别?
OCS内部使用Tair,并以Memcached接口提供服务,各命令的语义和错误返回值保持兼容,基本可以做到无缝切换。但也有一些差别:
a) 不支持Memcached的Flush、Stat命令;另外也不支持Tair本身的mget、mset、mdelete命令。
b) Q命令与对应的正常命令一样,能被调用和像正常命令一样执行和返回结果,但暂时没有实现Q功能。
c) Increment和Decrement的操作数在Memcached中是64位无符号整数,在OCS中是32位无符号整数;另外,对字符串数据的操作结果也有不同。
d) CAS值在Memcached中是32位无符号整数,在OCS中是16位无符号整数。这对开发都而言,没有任何影响。
9、SASL是什么?
SASL全称SimpleAuthentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。Memcached从1.4.3版本开始,支持SASL认证。由于OCS的多租户共享特性,也采用SASL作为鉴权机制。SASL本质上是使用密码保证的缓存数据安全,建议采用强密码和定期修改密码的策略。OCS将每60S自动进行一次鉴权
10、为何有时候客户端操作会异常?
有几个原因可能会导致客户端异常
1)由于存在网络传输,网络抖动可能会偶发操作失败。
2)客户端所在服务器负载过高时,可能会造成处理缓慢,最终造成超时,这是出现超时的绝大多数原因,所以可先排查客户端所在服务器历史负载记录,是否有满载现象。
3)900秒之内客户端没有请求,OCS会自动断开连接,请确保使用的客户端具有重连功能
10、多大的数据最适合存储在OCS上?
Key最大为1K,Key Value最大为1M。但太大的对象,会占用较大带宽,导致较小的QPS,建议Key Value大小最好10K以下。
11、对OCS的访问是否需要负载均衡?
不需要,OCS是分布式服务,负载均衡自动进行。
12、客户端连接是长连接还是短连接?
长连接。若业务并发量大,为性能考虑,可以开启连接池功能。
13、OCS的数据支持持久化吗?
OCS是一套分布式内存缓存数据服务,不支持持久化保存。
14、OCS的数据会保存和读写是在几台设备上?以什么形式?
数据的保存和读写服务会分布在集群的多台服务器,同时服务。
15、缓存数据是保存在SSD还是在内存中?
OCS系统会根据用户使用的缓存大小和数据热度分配一定的内存供访问请求,如果数据访问没有在内存里命中,会向SSD请求数据,理论上速度确实会慢,但基于集群的服务模式会有所弥补,会在可接受的范围内。
16、支持数据回档吗?
17、如何获取OCS的帮助
1) 产品介绍:
2) 使用指南:
3) 客户端下载:
4) 常见问题:
5) 开发者文献:
关于此文档暂时还没有FAQ钉钉开放平台 - 文档中心
> 接入智慧园区
单点登录接入

目前接入已经实现自助流程化申请,请访问以下链接,填写应用信息提交申请:
日常地址:
线上地址:
注意1:线上日常环境是隔离的,请在线上日常分别申请或者即将上线时申请线上。如果报“应用未在统一登录中心注册”请确认是否已经注册,环境有没有搞错。
注意2:日常环境,不进行邮件发送,请登录https://login-test.alibaba-inc.com/updateAppInfoList.htm 点击查看按钮 获取 appCode,clientKey
填写项说明:
应用名称: 应用在BUC注册名,请保证和Aone名称相同,必须英文
Aone ID: 应用接入Aone的PID,可以在 Aone2 查询或申请。集团规定必须接入Aone才允许接入BUC,Aone问题可以在右下角Vone提问。
显示名称: 应用中文名称
首页URL : 应用首页的Url地址,如果非Web项目,此项可以任意填写。只需填写即可(域名不可乱写),不影响接入
域名: 此项是用来防钓鱼使用,请填写访问你的应用时可能在浏览器地址栏中输入的域名或者IP,多个域名或IP间用英文的逗号[,]分隔,例如:login.alibaba-inc.com,login-test.alibaba-inc.com
应用描述: 详细描述下应用
所属部门: 申请人部门中文描述
责任人工号:项目责任人的工号,如:67654,请省略前缀的0
审批人工号:应用访问权限审批人工号,如不具备登录权限的人申请登录应用权限,需要审批人审批 如:67654,请省略前缀的0
认证类型: 根据应用要求的安全级别选择一种即可,如果无特殊需求选择默认值即可;
VPN网络默认可访问: 在VPN网络的只验证内网登录权限(内网登录权限需要的情况),不再额外校验“应用在VPN网络下登录访问权限”
是否允许钉钉登录: 是否允许从钉钉免登到你的应用
是否允许旺旺登录: 是否允许从旺信免登到你的应用
启用设备绑定认证: 应用是否启用设备绑定,一般选择否即可,有需求可以联系管理员
WEB端统一登录
本文档是针对**buc.sso.client-0.8+**的接入说明(推荐0.8.8或最新版本)
原生SSO客户端接入(Import JAR)
引入jar文件,以maven为例:
&dependency&
&groupId&com.alibaba.platform.shared&/groupId&
&artifactId&buc.sso.client&/artifactId&
&version& [请使用最新版本] (http://mvnrepo.alibaba-inc.com/nexus/index.html#nexus-quick~buc.sso.client) &/version&
&/dependency&
提示:从0.5版本起(包括0.5及更高版本的jar包),客户端的三方包依赖已经替换为社区原生包,不再依赖alibaba封装过的jar (groupId为 com.alibaba.external ) ,如果有项目仍然依赖封装包的应用需要对jackson及slf4j相关的包做排除
0.8+的sdk和原来不同,每次启动时,sdk都会从sso服务端拉取应用的配置,**【客户端本地的配置将不再生效】**。
所以你需要先在sso上配置应用的配置信息(比如:exclusions)。
如果没看到你的应用, 说明你不是管理员, 根据应用搜索下, 会显示应用及其当前管理员
配置web.xml
注意:请将ssoFilter过虑器放在所有过虑器前面,否则SSO的功能会被其它过虑器影响,无法正常使用SSO功能
基本配置(DefaultConfig)
&filter-name&ssoFilter&/filter-name&
&filter-class&com.alibaba.buc.sso.client.filter.SSOFilter&/filter-class&
&init-param&
&!-- 指明接入环境, daily: 日常,online:线上 --&
&param-name&LOGIN_ENV&/param-name&
&param-value&daily&/param-value&
&/init-param&
&init-param&
&!-- 应用标识 --&
&!-- 注意区分日常、线上,日常和线上的APP_CODE是不一样的 --&
&!-- 查看APP_CODE,日常https://login-test.alibaba-inc.com/updateAppInfoList.htm,线上https://login.alibaba-inc.com/updateAppInfoList.htm --&
&!-- 注:只有sso上的应用管理员能查看,看不到请根据应用名搜索,会显示当前管理员是谁 --&
&param-name&APP_CODE&/param-name&
&param-value&${app_code}&/param-value&
&/init-param&
&filter-mapping&
&filter-name&ssoFilter&/filter-name&
&url-pattern&/*&/url-pattern&
&/filter-mapping&
扩展配置(ExtendConfig)
0.8+版本的扩展配置全部移到服务端配置了,详细请看
注意:扩展配置都是可选配置的,除了【基础配置-SSOFilter排除列表】外,其他的一般都无需配置
【基础配置-SSOFilter排除列表】即哪些URL不需希望要求登录,比如/checkpreload.htm,/status.taobao
获取用户信息(GetUserInfo)
正常情况下,配置完上述2步,就可以看到可以正常登录了,登录后可以通过以下工具类获取用户信息:
BucSSOUser user = SimpleUserUtil.getBucSSOUser(request);
为了尽可能精简cookie项,默认仅能获取以下信息:
//BUC User ID,帐号系统,权限系统等BUC相关服务会用到
private String
private String
//真实姓名
private String
nickNameCn; //花名
如果需要获取更多信息,sdk 0.8+请修改 基础配置 - 是否获取用户扩展信息。怎么修改,请看上面的【配置应用】部分。
注意:测试时请使用隐身模式,避免老cookie影响,以获取以下信息:
private String
//邮箱地址
private String
//阿里旺旺
private String
//淘宝旺旺
private String
// account所来自哪个子系统
private String
// 登录使用的帐号 (每个人都是唯一的,返回的格式可能是 lixy.lx,或者lixy.lx@alibaba-inc.com)
private String
// 用户最近一次登录SSO所用的认证级别 WORKER CERT AD RSA
private String
// Havana系统ID,用于关联前台帐号
private String
// 代理账户ID
private Map&String, String& adA
// 用户域账号
private Strin
// 此字段同loginName
private St
// UMID,设备唯一编号
private String
// 账号类型,R:正式员工;O:外部人员;W:工作账号
登出(Logout)
由于登录中心已经记住用户已经登录那些系统,所以由ssoLogout.htm可以直接清理掉统一登录中心、各已登录应用的登录态,请参考https://ihave.alibaba-inc.com/登出按钮
日常环境: 线上环境:
APP_NAME : 接入时的应用名
BACK_URL : 登出后重新登录后跳转的页面url,url域名必须是应用允许的域名,应用允许的域名请以下地址打开应用查看
日常环境: 线上环境:
端类应用接入(非web应用)
BUC SSO API接口授权
整个调用流程为:获取AuthCode –& 根据AuthCode换取AccessToken –& 效验AccessToken的有效性-&RefreshAccessToken延长AccessToken有效期-&禁用AccessToken
以下地址为测试地址正式地址请替换为https://passport.alibaba-inc.com/authorize/
对于需要加签的参数,都用a1=v1&a2=v2&a3=v3…的格式串接(定义为original),串接时按参数名升序排序[如a-&z,1-&9],然后md5(salt+original)[注: 加号不需要]即为生成的签名串。
注:请注意参数大小写和文档保持一致
比如,入参分别是:
appcode=123456
accesstoken=abcdefg
那么original应该为
accesstoken=abcdefg&appcode=123456&time=
日常salt:9ae0034b-e847-4c1d-b401-79cd4227ba9c线上salt:联系管理员那么最终生成的签名串(sign)应为:1edb0ccc166cc
获取服务端时间
读取服务端当前时间接口:https://login-test.alibaba-inc.com/rpc/oauth/sync.json
获取AuthCode(调用方使用)
访问地址(测试环境):请一定要使用post方式提交
签发给应用的AppCode
用户域帐号,例如taobao-hz\xxxxx.xx或者xxxx.xx
用户密码,如果pwdencrypt ?!= true,password记得encode下,加签时使用encode前的;如果pwdencrypt=true,那么password参与加签时,请使用加密后的值;
值为user时为用户验证
pwdencrypt
密码是否需要加密(rsa),为true表示加密(此时参数中的password应为rsa公钥加密,然后Base64#encodeBase64URLSafeString编码后的字符串),否则不加密,需要加密请联系管理员索要rsa公钥。
服务器时间戳,单位毫秒(防重放校验)
签名后的字符串
返回值示例:
成功:{“ErrorCode”:0,“IsSuccess”:true,“ArkAuthCode”:“d670a8d4-0b87-4a56-f432de8” }
失败:{“ErrorCode”:1005,“IsSuccess”:false,“ArkAuthCode”:&&}
根据AuthCode置换AccessToken(调用方使用)
访问地址(测试环境):https://login-test.alibaba-inc.com/authorize/getAccessToken.do
签发给应用的AppCode,与login.do的一样
根据login.do获取的有效authcode
clienttype
调用方的类型。传递Client会返回AccessToken和RefreshToken,不传仅返回AccessToken。AccessToken有效期为一天,RefreshToken长期有效
服务器时间戳(防重放校验)
签名后的字符串
返回值示例:
成功:{“ErrorCode”:0,“IsSuccess”:true,“AccessToken”:“8e7ccd-9a00-7fe95e71710e”,“ExpireDate”:“\/Date(0+0800)\/”,“RefreshToken”:“09c5b71a-126e-47e7-bf9b-710f”}
失败:{“ErrorCode”:1203,“IsSuccess”:false,“AccessToken”:null,“ExpireDate”:null,“RefreshToken”:null}
关于accessToken有效期的问题
目前,accessToken在刚生成时,默认有效期是30分钟,在调用/authorize/validateAccessToken.do验证后,accessToken的有效期变为3天.
接入方应该尽量避免对这个时间做具体的假设,防止服务端对这个有效期做调整,接入方正确的做法应该是:
在调用/authorize/validateAccessToken.do验证accessToken时,如果发现已经过期(返回errorcode: 1207),那么接入方应用调用/authorize/renewAccessToken.do来换取一个新的accessToken,后续使用新生成的这个accessToken,这个accessToken和上面说的一样,刚生成时有效期30分钟,validate后变为3天。
提供AccessToken的校验服务,返回登录用户信息(接口提供方使用)
访问地址(测试环境):https://login-test.alibaba-inc.com/authorize/validateAccessToken.do
用于区分是api授权调用还是仅仅登录调用,如果是api保护校验传入api,如果是客户端登录则传入tmn(注:不区分大小写)
签发给应用的AppCode。如果是api授权,type是api,则值为api提供方的appcode,与调用方的不一样
accesstoken
根据getAccessToken.do获取的有效的AccessToken
checkAppAccessible
是否检测应用访问权限,默认false,建议调用方传入true
服务器时间戳(防重放校验)
签名后的字符串
返回值示例:
成功:{“DisplayName”:“e2J1Yy10ZXN0fSh7V09SS0VSX2J1Yy10ZXN0fSk=\r\n”,“ErrorCode”:0,“AccessToken”:“5e7ccd-9a00-7fe95e71710e”,“RefreshToken”:“00c5b71a-126e-47e7-bf9b-710f”,“SecretId”:“0a7f-449f-a685-xxxxxxx”,“AppUrl”:“this_is_app_name”,“WorkId”:“WORKER_buc-test”,“Email”:null,“DomainUser”:“SP\buc-test”,“WangWang”:&“,”SecretKey“:”D2JKYm95SEJjd3FhbWxCald4THBCVHhmZHVwUVl6WXA=\r\n“,”SecretIV“:”B1p3eHh3ZVVYR2dKZllHaA==\r\n“,”IsAccess&:true }
失败:{“DisplayName”:null,“ErrorCode”:1200,“AccessToken”:null,“RefreshToken”:null,“SecretId”:null,“AppUrl”:null,“WorkId”:null,“Email”:null,“DomainUser”:null,“WangWang”:null,“SecretKey”:null,“SecretIV”:null,“IsAccess”:false}
此接口可能出现的错误码:
应用不存在,注意:日常和线上的appcode是不通的,别日常、线上弄混了。
accessToken或者appCode为空
accessToken不存在
accessToken过期
找不到用户信息
API模式下授权关系不存在
API模式授权方式不匹配
无效的客户端类型
根据RefreshToken更换新的accessToken和RefreshToken(推荐,调用方使用,替代refresh方法)
访问地址(测试环境):https://login-test.alibaba-inc.com/authorize/renewAccessToken.do
accesstoken
有效的AccessToken并且能够与RefreshToken对应
refreshtoken
RefreshToken用于延长AccessToken的时间,延长的有效期为3天
服务器时间戳(防重放校验)
签名后的字符串
返回值示例:
成功:{“ErrorCode”:0,“IsSuccess”:true,“accessToken”:“4c4a83e9-e338-4531-95da-a3f64a1e840a”,“refreshToken”:“f0ee90e2-4787-45ac-98c4-b”}
失败:{“ErrorCode”:1213,“IsSuccess”:false,“accessToken”:null,“refreshToken”:null}
根据RefreshToken刷新AccessToken有效期(有安全问题,后续下线,调用方使用)
访问地址(测试环境):https://login-test.alibaba-inc.com/authorize/refreshAccessToken.do
accesstoken
有效的AccessToken并且能够与RefreshToken对应
refreshtoken
RefreshToken用于延长AccessToken的时间,延长的有效期为3天
返回值示例:
成功:{IsSuccess: true, ErrorCode: 0}
失败:{IsSuccess: false, ErrorCode: 1212}
禁用AccessToken。安全保护,主要用于类似手机客户端已登录,且手机丢失的情况下,应用方主动失效,也可联系BUC团队进行失效处理。(调用方使用)
访问地址(测试环境):https://login-test.alibaba-inc.com/authorize/disableAccessToken.do
|参数|参与加签|描述||appcode|是|与accesstoken和refreshtoken所对应的值||accesstoken|是|有效的AccessToken并且能够与RefreshToken对应||refreshtoken|是|与AccessToken对应的值||time|是|服务器时间戳(防重放校验)||sign|否|签名后的字符串|
返回值示例:
成功:{IsSuccess: true, ErrorCode: 0}
失败:{IsSuccess: false, ErrorCode: 1212}
根据accessToken获取免登token,用于免登到web应用
访问地址(测试环境):https://login-test.alibaba-inc.com/authorize/getSSOToken.do
与accesstoken和refreshtoken所对应的值
accesstoken
有效的AccessToken并且能够与RefreshToken对应
访问资源地址,此参数可以为空
服务器时间戳(防重放校验)
签名后的字符串
返回值示例:
成功:{success: true, errorCode: 0, ssoToken: “7c885036-aa76-45e0-a963-7c”}
失败:{success: false, errorCode: 1200, ssoToken: &&}
获取到ssoToken值后,访问应用url时追加SSO_TICKET参数,例如:http://work.alibaba-inc.com?SSO_TICKET=XXXXXXXXX
注意:如果需要使用此功能,被访问的web应用必须要在web.xml中配置APP_CODE参数
网站出现错误
用户身份过期,请重新登录。
访问请求错误,请重新请求
当前应用不支持证书登录
获取身份错误,人员信息库中没有你的信息
您输入的用户名或密码错误,请重新登录
当前用户没有访问该应用的权限
请求错误,没有带上ticket
请求错误,没有带上secretId
访问请求格式错误,再重新请求。
用户身份信息密钥不存在,请重新登录。
您所访问的应用未向统一登录中心注册
用户身份信息密钥错误,请重新登录。
请求所带参数信息与注册信息不符,请重新请求
请求超时,请重新登录。
您的密码已过期,请重置密码后使用新密码登录
您所访问的应用不允许在外部网络访问
RSA解密密码失败
无效的参数(比如不允许为空的参数空了)
请求已过期
签名验证失败,怎么加签看文档头部的说明
登录已过期,请重新登录。
AppCode非法,注意:日常和线上的appcode是不通的,别日常、线上弄混了。
请求系统授权失败
请求AccessToken时参数为空
AuthCode无效
AuthCode重复使用
请求ValidateAccessToken时参数为空
AccessToken无效
AccessToken过期
根据AccessToken取不到UserProfile信息
获取AccessToken的授权方式未在受保护的API中进行授权
获取AccessToken的授权方式低于Api保护的授权
无效的客户端类型
RefreshAccessToken时参数为空
RefreshAccessToken时根据AccessToken获取TokenInfo失败
RefreshToken无效
置换AccessToken时设置缓存失效
请求Login服务时AccessToken无效
请求Login服务时AccessToken对应的UserKey无效
请求DisableToken时参数为空
请求DisableToken时传入的参数无效
刷新accessToken失败,accessToken已经被更新
刷新accessToken失败,accessToken刷新超过最大次数限制
应用信息不准确,accessToken不是当前应用生成
ssoToken无效
用户手机不存在(正式员工)
用户手机不存在(外包员工)
用户手机不存在(其他)
验证码次数超限
用户不存在或者无效
账号代理关系不存在
appCode和token关联的不相同
请求错误, 在请求验证AccessToken时,参数appcode不能为空(客户端异常)
请求错误, 在请求验证AccessToken时,参数accesstoken不能为空(客户端异常)
请求错误, 验证AccessToken失败(客户端异常)
警告:存在钓鱼行为
警告:存在钓鱼行为,访问的应用与颁发token的应用不一致
账号被锁定
设备被锁定
服务访问量超出阈值,被限流控制
移动App到web应用的免登方案
一、SSO配置:
出于安全性考虑,从app到web应用需通过授权才可以免登。绑定授权在SSO完成,请在SSO走流程。
appName请找双方应用负责人获取。
注意:被免登应用的buc.sso.client版本必须&=0.7。
二、APP改造点:
1.app在访问接入BUC的web应用时,先通过app中从BUC中获取的AccessToken申请一个免登应用的SSO_TICKET,获取方式,参照 文档 的getSSOToken接口;
2.通过步骤1获取到额ssoToken,在将要从app跳转到web的URL中,增加参数:&SSO_TICKET=xxxx;该参数是给web应用消费且只能消费一次的,所以从app跳转到web应用时需要带上这个参数,且不能重复消费sso_ticket
三、web应用的改造:
1.web应用依赖的BUC客户端buc.sso.client的版本升级到最新版本 ,最新版本 ,最新版本 (部分低版本没有免登功能)
2.web应用必须要在web.xml中配置APP_CODE参数
java客户端端:
&init-param&
&param-name&APP_CODE&/param-name&
&param-value&xxxx&/param-value&
(注意将xxxx替换为应用的appCode)
&/init-param&
日常:https://passport.alibaba.net/rpc/ssoToken/validateSsoToken.json
线上:https://passport.alibaba-inc.com/rpc/ssoToken/validateSsoToken.json
APP_CODE—值为WEB应用在SSO注册是获得的APP_CODE
SSO_TOKEN—-值为SSO_TICKET的值
返回值:用户的json字符串
然后跟正常web应用一样,写应用端用户的cookie信息,完成之后,重新定向到请求的URL地址上,则可以完成访问;
关于此文档暂时还没有FAQ}

我要回帖

更多关于 无线网分享密码怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信