Add @ssttevee method of authentication (from pull request #43)
This commit is contained in:
4
src/interface/IConfig.d.ts
vendored
4
src/interface/IConfig.d.ts
vendored
@@ -23,12 +23,16 @@ interface IConfig {
|
|||||||
retry?: number;
|
retry?: number;
|
||||||
// Login options
|
// Login options
|
||||||
logUsingApi?: boolean;
|
logUsingApi?: boolean;
|
||||||
|
logUsingCookie?: boolean;
|
||||||
crSessionUrl?: string;
|
crSessionUrl?: string;
|
||||||
crDeviceType?: string;
|
crDeviceType?: string;
|
||||||
crAPIVersion?: string;
|
crAPIVersion?: string;
|
||||||
crLocale?: string;
|
crLocale?: string;
|
||||||
crSessionKey?: string;
|
crSessionKey?: string;
|
||||||
crLoginUrl?: string;
|
crLoginUrl?: string;
|
||||||
|
// Third method, injecting data from cookies
|
||||||
|
crUserId?: string;
|
||||||
|
crUserKey?: string;
|
||||||
// Generated values
|
// Generated values
|
||||||
crDeviceId?: string;
|
crDeviceId?: string;
|
||||||
crSessionId?: string;
|
crSessionId?: string;
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ const cookieStore = require('tough-cookie-file-store');
|
|||||||
// tslint:disable-next-line:no-var-requires
|
// tslint:disable-next-line:no-var-requires
|
||||||
const cloudscraper = require('cloudscraper');
|
const cloudscraper = require('cloudscraper');
|
||||||
|
|
||||||
|
const CR_COOKIE_DOMAIN = 'http://crunchyroll.com';
|
||||||
|
|
||||||
let isAuthenticated = false;
|
let isAuthenticated = false;
|
||||||
let isPremium = false;
|
let isPremium = false;
|
||||||
|
|
||||||
@@ -265,6 +267,25 @@ function authenticate(config: IConfig, done: (err: Error) => void)
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
else if (config.logUsingCookie)
|
||||||
|
{
|
||||||
|
j.setCookie(request.cookie('c_userid=' + config.crUserId + '; Domain=crunchyroll.com; HttpOnly; hostOnly=false;'),
|
||||||
|
CR_COOKIE_DOMAIN);
|
||||||
|
j.setCookie(request.cookie('c_userkey=' + config.crUserKey + '; Domain=crunchyroll.com; HttpOnly; hostOnly=false;'),
|
||||||
|
CR_COOKIE_DOMAIN);
|
||||||
|
|
||||||
|
checkIfUserIsAuth(config, (errCheckAuth2) =>
|
||||||
|
{
|
||||||
|
if (isAuthenticated)
|
||||||
|
{
|
||||||
|
return done(null);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return done(errCheckAuth2);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
log.error('This method of login is currently unsupported...\n');
|
log.error('This method of login is currently unsupported...\n');
|
||||||
|
|||||||
Reference in New Issue
Block a user