2014-09-25 5 views
1

Angularjs 사용 로그 아웃 후 쿠키를 삭제해야하는 모바일 앱에서 작업 중입니다. 내가 사용해야하는 서비스는 쿠키가 인증 된 것이므로 로그 아웃 한 후에 쿠키를 지울 필요가 있습니다.각형 쿠키를 사용하여 쿠키를 지울 수있는 방법

나는 그 쿠키를 지우는 전통적인 JS 절차를 시도했지만 작동하지 않았습니다.

더 많은 조사를 한 후 각도 쿠키 libary를 추가하고 ngCookies를 사용하여 $cookies$cookieStore에 액세스했습니다. 모든 examples 또는 내가받은 게시물은 $cookies$cookieStore을 사용하여 새 쿠키를 추가/수정/삭제하는 방법을 알려줍니다.

하지만 쿠키를 JSESSIONID, SMSESSION..so (큰 문자열)와 같이 동적으로 설정했습니다. 시도했을 때 $cookieStore.get('JSESSIONID') 결과가 정의되지 않았습니다. AFAIK 쿠키는 키 값 쌍입니다. 그렇다면 정의되지 않은 이유는 무엇입니까? (내가 틀 렸습니다)

어쨌든 모든 쿠키를 읽고 각도 쿠키 라이브러리를 사용하여 재설정/삭제할 수 있습니까?

+0

"내가 사용하는 서비스"라고 말하면 해당 서비스는 귀하 것이며 동일한 도메인에서 호스팅됩니까? 다른 도메인에 대한 쿠키를 읽거나 쓸 수 없습니다. – ZachRabbit

+0

내가 모바일 앱을 말했기 때문에 쿠키 정보를 기기 웹킷 메모리에 저장하는 웹 서비스를 호출하고 있음을 의미합니다. 그걸 정리해도 될까요? – Bob

+0

잘 모르겠습니다. iOS에서는 쿠키를 설정하는 다른 도메인 인 경우 표준 Safari 브라우저와 'UIWebView'모두 다른 도메인의 쿠키에 액세스 할 수없는 규칙을 준수합니다. ['NSHTTPCookieStorage'] (https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookieStorage_Class/index.html)를 사용하여 원하는 쿠키를 삭제할 수 있습니다. – ZachRabbit

답변

0

시도해보십시오. 저장된 쿠키를 반복하여 동적으로 제거합니다.

angular.forEach($cookies, function(value, key) { 
     $cookieStore.remove(key); 
    }); 
관련 문제