您的位置:

阿里云一键登录详解

一、阿里云一键登录预登录失败

1、在进行阿里云一键登录前,用户需要进行预登录。用户打开阿里云登录页,输入账号和密码,完成登录,此时会生成一条阿里云登录的Cookies,即ALIYUN_ID_Token和ALIYUN_JWT_Token,这两个Cookies是进行阿里云一键登录的必要参数。如果这两个Cookies因为登录session过期或其他原因失效了,那么进行一键登录的时候就会预登录失败。

2、解决预登录失败的问题需要重新登录,生成新的Cookies,将其设置在本地,再进行阿里云一键登录即可。

下面给出代码示例:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false, // 非无头模式方便我们观察执行效果
    defaultViewport: {
      width: 1000,
      height: 800
    }
  });
  const page = await browser.newPage();
  await page.goto('https://www.aliyun.com');

  // 在此进行登录

  const cookies = await page.cookies();
  const aliyunIdToken = cookies.filter(cookie => cookie.name === 'ALIYUN_ID_Token')[0];
  const aliyunJwtToken = cookies.filter(cookie => cookie.name === 'ALIYUN_JWT_Token')[0];

  // 将Cookies设置在本地
  // ...

  await browser.close();
})();

二、阿里云手机号一键登录

1、阿里云支持手机号一键登录。用户在登录页选择手机号登录,输入手机号码后进行下一步。此时会发送短信验证码到用户手机,用户输入验证码即可完成登录。

2、实现手机号一键登录需要在阿里云管理控制台进行相应的配置,具体可参考阿里云官方文档:

https://help.aliyun.com/document_detail/66099.html?spm=a2c4g.11186623.6.558.71d06a9ec32buR

三、阿里云一键登陆协议点击无响应

1、阿里云一键登陆协议点击无响应,可能是因为本身点击逻辑有误,也可能是因为协议对应的url地址失效。

2、解决此类问题需要在代码中进行检查。首先验证页面上协议链接地址是否正确,其次验证协议对应的url地址是否可以正常访问。

下面给出代码示例:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false, // 非无头模式方便我们观察执行效果
    defaultViewport: {
      width: 1000,
      height: 800
    }
  });
  const page = await browser.newPage();
  await page.goto('https://www.aliyun.com');

  // 检查协议链接
  const agreement = await page.$('#agreement');
  const agreementHref = await agreement.$eval('a', link => link.getAttribute('href'));
  console.log(agreementHref); // 打印协议链接的地址

  // 验证协议链接的地址是否可以正常访问
  const response = await page.goto(agreementHref, {
    waitUntil: 'domcontentloaded'
  });
  console.log(response.status()); // 打印请求返回的状态码

  // 点击同意协议
  await page.click('#agreement');

  // ...
  
  await browser.close();
})();