iOS
Android
Python
用户认证说明
私密云用户认证采用 OAuth的V1规范.有大量资料与软件开发包,对于Python,您不必从头开始.
SDK提供简易登录方式
api.login(userName,userPasswd)
返回access token与access secret,此后直接使用该access token与access secret即可
def Login(self, user_name, password):
"""登录"""
m = hashlib.md5(password)
password = m.hexdigest()
auth_url = self.auth.GetAuthorizationUrl()
auth_url += "&user_name=%s&password=%s"%(user_name,password)
resp = urllib_request.urlopen(auth_url)
verifier = resp.read()
access_token = self.auth.RequestAccessToken(verifier)
return access_token.key, access_token.secret
在本教程中,我们通过一些示例代码向您展示如何使用SDK进行用户验证。
1、配置会话对象
入门指南, 当您创建应用程序时,系统会提示您是否希望全私密云目录访问。同时您获得应用程序的APP key与APP secret.
API_DOMAIN = "http://simiyun.cn/api.php/1" APP_KEY = 'c1d8132456e5d2eef452e3a5362d6af904e93db8f' APP_SECRET = 'c988b0cc440c5dcde2d39e4d47d0baf4' USER_NAME = "unit_test"; #default user name USER_PASSWORD = "qweasdzxc"; #default user passwd ROOT = "simiyun" #second app not valid
2、获取令牌
现在我们开始验证。
request_token = sess.obtain_request_token()
3、用户验证和授权
为了与第2方应用高度集成,用户账号与密码在第2方应用中输入,然后请求发送到私密云网站,让您的应用程序访问用户的私密云帐户。
4、获取访问 token
一旦用户成功获准到您的应用程序,系统把授权的请求令牌升级到访问令牌。通过obtain_access_token传递请求令牌:
# This will fail if the user didn't visit the above URL and hit 'Allow' access_token = sess.obtain_access_token(request_token)
client = client.SimiyunClient(sess) print "linked account:", client.account_info()
首先得申请应用程序的key and secret.详情见入门指南
我们需要把app key与app secret写入到代码,好让我们能够用它们创建一个会话 和访问您F的私密云账号以及API.
替换 INSERT_APP_KEY_HERE 和 INSERT_SECRET_HERE
用您的 app key and app secret 像下面的代码.
final static private String APP_KEY = "INSERT_APP_KEY_HERE"; final static private String APP_SECRET = "INSERT_SECRET_HERE";
1、创建会话
现在让我们用API来创建一个新的 会话。
private AuthSession buildSession() {
AppKeyPair appKeyPair = new AppKeyPair(APP_KEY, APP_SECRET);
AuthSession session = new AuthSession(appKeyPair, ACCESS_TYPE);
return session;
}
2、身份验证
AuthSession session = buildSession(); mApi = new SimiyunAPI(session); AuthInfo authInfo = mApi.getSession().getAuthInfo(); String[] args = new String[] { "oauth_token", authInfo.requestTokenPair.key, "user_name", "unit_test", "password", "315eb115d98fcbad39ffc5edebd669c9", // md5 encode "qweasdzxc" "device_name", "unit_test", "device_type", "1", "device_info", "unit_test", }; mApi.getSession().authorize(args);//get verify code mApi.getSession().retrieveAccessToken(authInfo.requestTokenPair);//get access token and secret
一旦您准备好与世界分享您的应用程序,申请发布即可,可通过 申请应用程序. 系统将提示您一些 额外的信息,和您的应用程序,然后将提交到私密云的审查。我们将审核您的应用程序,以确保它符合API的 条款及条件 和 开发向导. 一旦您的应用程序批准为发布状态,任何私密云帐户可以链接您的应用程序.
一旦你有你的应用程序键和密码,你可以创建的SimiyunAPI为您的应用程序的对象。要做到这一点,下面的代码添加到您的 应用程序代理的
application:didFinishLaunchingWithOptions:方法:
#import <SimiyunSDK/SimiyunSDK.h>
...
SimiyunAPI* api =
[[SimiyunAPI simiyunAPIWithDelegate:self] autorelease];
某处在您的应用程序,添加一个事件提供的私密云认证过程中,应该看起来像这样:
- (void)didLogin {
[api login:user_name password:password];
}
在本教程中,我们通过一些示例代码向您展示如何使用SDK进行用户验证。
[api setAccessToken:ACCESS_TOKEN_KEY
secret:ACCESS_TOKEN_SECRET];
如果登录成功, 你准备好继续前进到下一节开始请求私密云使用的SDK.