이 문서는 Google Cloud Translation API를 사용해 자동 번역되었습니다.
어떤 문서는 원문을 읽는게 나을 수도 있습니다.
최신 웹은 다양한 소스의 데이터 및 서비스에 액세스하는 것입니다. 그러나 제대로 수행하지 않으면 보안 위험이 발생할 수 있습니다. 이 기사에서는 OAuth 및 OpenID Connect를 사용하여 보안 애플리케이션을 구축하는 방법을 보여줍니다.
OAuth는 다양한 소스의 데이터 및 서비스에 안전하게 액세스할 수 있도록 하는 승인을 위한 공개 표준입니다. 액세스하려는 데이터 및 서비스를 지정한 다음 해당 리소스에 대한 액세스 권한을 부여하는 방식으로 작동합니다.
OpenID Connect는 OAuth 위에 구축된 인증 프로토콜입니다. 이를 통해 Facebook 또는 Google과 같은 다양한 공급자를 통해 사용자를 인증할 수 있습니다.
OAuth 및 OpenID Connect를 사용하려면 공급자에 애플리케이션을 등록해야 합니다. 각 공급자는 이 작업을 수행하는 자체 프로세스가 있으므로 여기에서 자세히 설명하지 않습니다.
애플리케이션을 등록한 후에는 액세스할 데이터와 서비스를 지정해야 합니다. 이는 애플리케이션의 "범위"를 생성하여 수행됩니다. 범위는 단순히 제공자에게 요청하는 권한 목록입니다.
예를 들어 할 일 목록 애플리케이션을 빌드하는 경우 다음 범위를 요청할 수 있습니다.
범위를 만든 후에는 사용자를 공급자의 권한 부여 끝점으로 보내야 합니다. 이는 공급자가 사용자 데이터에 대한 액세스 권한을 부여하는 데 사용할 URL입니다.
권한 부여 끝점은 사용자에게 로그인을 요청한 다음 범위에서 지정한 데이터 및 서비스에 대한 애플리케이션 액세스 권한을 부여하도록 요청합니다.
사용자가 애플리케이션 액세스 권한을 부여하면 공급자는 인증 코드를 사용하여 사용자를 다시 애플리케이션으로 리디렉션합니다. 이 코드는 사용자 데이터에 액세스하는 데 사용할 수 있는 액세스 토큰으로 교환할 수 있습니다.
액세스 토큰이 있으면 안전하게 사용하기 위해 몇 가지 예방 조치를 취해야 합니다.
첫째, 액세스 토큰을 일반 텍스트로 저장하면 안 됩니다. 대신 암호화된 형식으로 저장해야 합니다.
둘째, HTTPS와 같은 암호화된 연결을 통해서만 액세스 토큰을 보내야 합니다.
셋째, 액세스 토큰이 의도한 데이터 및 서비스에만 사용되도록 해야 합니다. 예를 들어 애플리케이션이 사용자의 할 일 목록에 대한 읽기 권한만 필요한 경우 액세스 토큰은 해당 용도로만 사용해야 합니다.
이 기사에서는 OAuth 및 OpenID Connect를 사용하여 보안 애플리케이션을 구축하는 방법을 보여주었습니다. 이 문서에 설명된 예방 조치를 취하면 애플리케이션이 안전하고 사용자 데이터가 보호되는지 확인할 수 있습니다.