나는 accounts-ui
패키지를 사용하고 있으며 사용자가/and 및 /에 로그인하면 바로 일부 자바 스크립트를 처리하고 싶습니다.Meteor 계정 프레임 워크 로그인/로그인 이벤트
사용자가 로그인하는 즉시 호출되는 이벤트가 있습니까?
나는 accounts-ui
패키지를 사용하고 있으며 사용자가/and 및 /에 로그인하면 바로 일부 자바 스크립트를 처리하고 싶습니다.Meteor 계정 프레임 워크 로그인/로그인 이벤트
사용자가 로그인하는 즉시 호출되는 이벤트가 있습니까?
당신은 Meteor.autorun():
Meteor.autorun(function() {
if (Meteor.userId()) {
console.log('The user logged in');
}
});
내부 원시 로그인 API를 Meteor.userId()
함수의 결과를 확인할 수 있습니다 (예를 들어 loginWithFacebook
, loginWithPassword
등) 로그인이 완료 화재 콜백을 가지고 있지만, 이것은 현재 노출되지 accounts-ui
통해. 이것은 변경 될 수 있습니다.
잠재적 인 해결 방법은 베르너의 제안에 의해 영감을, 또한 계정으로 페이지로드를 복용 :
var oldUserId = undefined;
Meteor.autorun(function() {
var newUserId = Meteor.userId();
if (oldUserId === null && newUserId) {
console.log('The user logged in');
} else if (newUserId === null && oldUserId) {
console.log('The user logged out');
}
oldUserId = Meteor.userId();
});
그냥 대안을 제공하기 위해; 나는 원숭이가 콜백 기능을 패치했다. credentialRequestCompleteHandler는 함수를 반환하는 함수가 필요하지만 일반 원숭이 패치를 필요로하기 때문에 조금 더 복잡해 보입니다. main.js 나 늦게 한 번만 처리되는 것에 이것을 집어 넣으십시오. 나중에 참조 할 때 도움이되기를 바랍니다.
var orgCallback = Accounts.oauth.credentialRequestCompleteHandler;
Accounts.oauth.credentialRequestCompleteHandler = function(callback){
return function (credentialTokenOrError) {
var tmpFunc = orgCallback(callback);
tmpFunc(credentialTokenOrError);
alert("do your own thing here");
}
}
OAuth 로그인시 한 번만 * 실행 * 한 번만 할 작업을 원한다면이 방법을 사용하는 것이 좋습니다.이 콜백을 사용하면 여러 가지 다른 방법을 시도해 볼 수 있습니다. 사용자가 사용자 이름/비밀번호를 통해 로그인하면 * 실행되지 않습니다. – kynan
가 페이지를 다시로드시, 자동 실행을 사용하여 (또는 사용자가 이미 여전히 자동 실행을 실행 거기에 기록되어있는 경우, 최종 브라우저에서 URL을 여는 문제가있다. – Akshat
지금 그것을 참조하십시오. 매우 불행한. I (기능 요청을 보내야합니다.) –