본문 바로가기
개발 상자

Samsung Smartthings Access Token 발급받기

by 리잼 2025. 8. 20.
반응형
const REDIRECT_URI = process.env.NEXT_PUBLIC_SMARTTHINGS_REDIRECT_URI;
const CLIENT_ID = process.env.NEXT_PUBLIC_SMARTTHINGS_CLIENT_ID;

export const redirectToAuth = (userId: string) => {
  const REQUEST_AUTH_URI = 
  `https://api.smartthings.com/oauth/authorize?client_id=${CLIENT_ID}
  &response_type=code&redirect_uri=${REDIRECT_URI}
  &scope=r:devices:*+w:devices:*+x:devices:*&state=${userId}`;
  window.location.href = REQUEST_AUTH_URI;
};
  • CLIENT_ID → 스마트 싱스 앱을 생성할 때 발급받은 key값
  • REDIRECT_URI → REQUEST_AUTH_URI 에서 사용자 인증에 성공하면 임시 “code” 를 발급해준다

리다이렉트 후 삼성 로그인을 하면 해당 화면으로 이동됨

2025-08-20T04:54:18.927Z	dcda92a6-6171-4425-a94a-bdb65f204a7a	
INFO	event.queryStringParameters: { code: 'LxtpI2', state: '54c88d1c-f0f1-7035-d4ea-e0023df73e66' }
  • &state=${userId} → 토큰을 발급받고 서버에서 DB 처리를 위해 넘기는 값
2025-08-20T04:54:19.302Z	dcda92a6-6171-4425-a94a-bdb65f204a7a	
INFO	tokenResponse.data:  {
  access_token: '8daf449b-b940-4e42-a3dc-c84181544347',
  token_type: 'bearer',
  refresh_token: 'e561d6b4-bdc4-4d7c-b7a3-b2001fe27c80',
  expires_in: 85846,
  scope: 'x:devices:* r:devices:* w:devices:*',
  access_tier: 0,
  installed_app_id: '16588453-4c51-4a9f-920a-*************'
}
  • 발급 성공후 토큰 확인
  • 발급 받은 토큰으로 기기 제어
반응형

'개발 상자' 카테고리의 다른 글

애플 소셜 로그인 for Cognito  (0) 2025.11.28
TanStack Query 정리  (0) 2025.11.17