문제

Salesforce-Chatter API와 상호 작용하는 크롬 확장을 구축하고 있습니다.그러나 OAuth (User Agent Flow) 인증을 사용하는 사용자의 경우, 내 확장자의 클라이언트 키를 내장해야합니다.

보안 문제가 발생할 수 있습니까?아니면 내 확장명에 클라이언트 ID를 포함하지 않고 OAuth를 사용하는 방법이 있습니까?

도움이 되었습니까?

해결책

클라이언트 ID 은 요청에 포함되어야하므로 @matt 레이시가 이미 지적했듯이 요청이 귀하에게 나왔음을 알고 있습니다. 일반적으로 공급자는 액세스 토큰 요청에 추가로 포함 된 기밀 클라이언트 비밀 을 발행하므로 공급자는 앱에서 을 사용할 수 있는지 확인할 수 있습니다. 클라이언트 ID .

Chrome 확장은 오픈 플랫폼에서 실행되며 플랫폼 자체는 서버에 대한 확장자를 인증하는 방법 (Salesforce가 지원할 수 있음) 또는 속성을 안전하게 저장하거나 저장할 수있는 방법을 제공하지 않습니다 (열려있는 경우 불가능하지 않으면 불가능합니다. 플랫폼), 클라이언트 비밀 기밀을 불행히도 불가능합니다.

이것은 공통적 인 문제이므로 이미 OAuth 사양에서 고려됩니다 ( 섹션 10.1 클라이언트 인증 10.2 클라이언트 가장자리 ). 따라서 공급자는 추가 수표를 수행해야하지만 보안을 효과적으로 개선하기 위해 아무 것도 할 수없는 클라이언트 측에서는 할 수 없습니다.

미래에 Android 기기에서 어떻게 처리되는지에 대한 통찰력을 원한다면 답변을 확인하십시오. 여기 .

다른 팁

클라이언트 ID를 확장자에 삽입하여 Salesforce가 앱이 인증하려고하는지 알 수 있도록합니다.이러한 클라이언트 ID는 항상 서버에 저장 및 전달되어 안전한 방식으로 저장하지 않아도됩니다.

matt 패키지 앱을 만드는 경우 클라이언트 ID를 포함해야합니다....에또 다른 솔루션은 앱을 호스팅 된 앱으로 작성하는 것입니다.

패키지 된 앱과 호스팅 된 앱의 차이점은 무엇입니까?

이 단점은 웹 서버 관리의 복잡성이 추가되었습니다.그러나 그것은 더 큰 보안을 허용합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top