1捣作、創(chuàng)建賬戶
(http://events.jianshu.io/p/588ba0786aed)
2、前端部分
// 插入SDK
const insertSDK = (id, url) => {
return new Promise((resolve, reject) => {
if (document.getElementById(id)) {
resolve();
return false;
}
const sdkScript = document.createElement('script');
sdkScript.src = url;
sdkScript.id = id;
document.body.appendChild(sdkScript);
sdkScript.addEventListener('load', () => {
console.log('load', id);
resolve();
});
sdkScript.addEventListener('error', (e) => {
console.log('err', id);
reject(e);
});
});
};
// apple sdk 插入
export const insertAppleSdk = () => {
const url = 'https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js';
return insertSDK('appleSDK', url);
};
// 登錄時調用
insertAppleSdk().then((res) => {
this.appleHandler();
});
appleHandler () {
window.AppleID.auth.init({
clientId: '創(chuàng)建的ID(一般是網站反寫)',
scope: 'name email',
redirectURI: '重定向的url ',
state: ''
});
}
async appleLoginHandler () {
try {
const data = await window.AppleID.auth.signIn();
return data;
} catch (error) {
// Handle error.
}
},
Apple 授權成功后 重定向的url上有Apple帶的參數 code和token柑蛇,服務端會接收到,我們的方式是服務端會setCookie code和token 任選 前端取到參數婉称,調用登錄接口 后面就是登錄的正常流程