     public private(set) var accessToken: String? = ""
     public private(set) var tokenType: String? = ""
     public private(set) var expireDate: NSDate? = NSDate()
-    private var needsMigrate = false
 
     // MARK: - Singleton methods
 

        attrs[String(kSecAttrGeneric)] = NSKeyedArchiver.archivedDataWithRootObject(self)

        let status = SecItemAdd(attrs, nil)
        println("------------------------------")
        println(status)
        if status == errSecDuplicateItem {
            if OAuth2Credential.restoreCredential()?.destroy() == true {
                return SecItemAdd(attrs, nil) == errSecSuccess


    public func destroy() -> Bool {
        var attrs = self.dynamicType.keychainAttributes

        if !(SecItemDelete(attrs) == errSecSuccess) {
            return false
