如果您的平台不支持 HTTP 基本身份验证,您可以透过传递用户的电子邮箱和密码作为登录凭据来验证。
如果您透过 Google 登录登记,请确保在继续本教学之前设置一个 Ragic 密码。
请仅在无法使用 HTTP 基本身份验证时使用此方法。
您可以使用有效的电子邮箱和密码发送请求以获取 session id。您可以使用 -d 参数发出包含 id 和密码的 HTTP 请求。-c 参数将 sessionId 保存在指定的 cookie jar 文档中:
curl --get -d "u=jeff@ragic.com" \ --data-urlencode "p=123456" \ -d "login_type=sessionId" \ -d api \ -c cookie.txt \ -k \ https://www.ragic.com/AUTH
如果身份验证失败,服务器将回传-1。如果身份验证成功,您将在响应中收到一个 session id,如下所示:
2z5u940y2tnkes4zm49t2d4
请注意,这种身份验证方法是基于会话的,会话是依赖于服务器的。您可能需要根据您希望访问的帐号位置修改 URL。例如,对于位于服务器 https://ap8.ragic.com 的帐户,请使用 https://ap8.ragic.com/AUTH。
在以后的请求中使用返回的 sessionId 以保持身份验证,请在 URL 参数中包含 sessionId,如 sid=
Ragic API 的使用将在后面的章节中介绍,请记住以这种方式包含您的 session ID 以保持身份验证。
如果您想检索登录用户的详细信息,还可以提供额外的 json=1 参数,以便 Ragic 回传包含用户详细信息的 json 对象。
curl --get -d "u=jeff@ragic.com" \ --data-urlencode "p=123456" \ -d "login_type=sessionId" \ -d "json=1" \ -d api \ -c cookie.txt \ -k \ https://www.ragic.com/AUTH
回传的格式如下所示:
{ "sid":"8xkz874fdftl116vkd3wgjq0t", "email":"jeff@ragic.com", "accounts": { "account":"demo", "ragicId":25, "external":false, "groups":["EVERYONE","SYSADMIN"] } }