티스토리 뷰
반응형
아카라 API refreshToken을 이용한 accessToeken 관리
# .env에 refreshToken 저장
DATABASE_URL="mysql://root:root@localhost:3306/bss"
APP_ID=
ACCESS_TOKEN=
REFRESH_TOKEN=
KEY_ID=
APP_KEY=
ACCOUNT=
# 스케쥴러에 스케쥴 등록(매일 새벽 03시)
@Injectable()
export class TasksService {
constructor(private aqara: AqaraService) {}
@Cron('0 3 * * *') // 매일 새벽 3시에 실행
handleCron() {
this.aqara.UpdateToken();
}
#토큰 업데이트 로직 구현(refresh토큰을 이용한 갱신 및 .env에 refreshToken 업데이트)
async UpdateToken(): Promise<any> {
const requestBody = {
intent: 'config.auth.refreshToken',
data: {
refreshToken: process.env.REFRESH_TOKEN,
},
};
const result = await this.run(requestBody);
console.log(result);
//result에서 리프레쉬토큰이 생기면 업데이트
this.updateEnvFile('REFRESH_TOKEN', result.result.refreshToken);
return result;
}
#아카라API #api #typescript #javascript #nestjs
반응형
'라이브러리(library)' 카테고리의 다른 글
[nextjs/framer] framer를 이용한 nextjs에서 애니메이션 적용 (0) | 2024.04.24 |
---|---|
[autohotkey/매크로]키보드 마우스 매크로 구현 (0) | 2024.03.05 |
[node/javascript/필립스 휴] node 환경에서 휴 조명 컨트롤하기 (0) | 2024.01.02 |
[1분 해결] ffmpeg 동적으로 인코딩하기 (0) | 2021.10.27 |
댓글
반응형