@@ -81,17 +81,18 @@ Future<std::string> UserSecureManager::LoadUserData(
81
81
auto callback = NewCallback (
82
82
[](ThisRef ref, SharedPtr<UserSecureDataHandle<std::string>> handle,
83
83
UserSecureInternal* internal) {
84
- if (internal == nullptr ) {
85
- handle->future_api ->Complete (handle->future_handle , kNoInternal ,
86
- " manager doesn't have valid internal" );
87
- return ;
88
- }
84
+ FIREBASE_ASSERT (internal);
89
85
ThisRefLock lock (&ref);
90
86
if (lock.GetReference () != nullptr ) {
91
87
std::string result = internal->LoadUserData (handle->app_name );
92
88
std::string empty_str (" " );
93
89
if (result.empty ()) {
94
- std::string message (" No entry for key:" + handle->app_name );
90
+ std::string message (
91
+ " Authentication failed to read user credentials for app (" +
92
+ handle->app_name +
93
+ " ). This could happen if the current user doesn't have access "
94
+ " to the key store, the key store has been corrupted or the app "
95
+ " intentionally signed out the user." );
95
96
handle->future_api ->CompleteWithResult (
96
97
handle->future_handle , kNoEntry , message.c_str (), empty_str);
97
98
} else {
@@ -115,11 +116,7 @@ Future<void> UserSecureManager::SaveUserData(const std::string& app_name,
115
116
auto callback = NewCallback (
116
117
[](ThisRef ref, SharedPtr<UserSecureDataHandle<void >> handle,
117
118
UserSecureInternal* internal) {
118
- if (internal == nullptr ) {
119
- handle->future_api ->Complete (handle->future_handle , kNoInternal ,
120
- " manager doesn't have valid internal" );
121
- return ;
122
- }
119
+ FIREBASE_ASSERT (internal);
123
120
ThisRefLock lock (&ref);
124
121
if (lock.GetReference () != nullptr ) {
125
122
internal->SaveUserData (handle->app_name , handle->user_data );
@@ -140,11 +137,7 @@ Future<void> UserSecureManager::DeleteUserData(const std::string& app_name) {
140
137
auto callback = NewCallback (
141
138
[](ThisRef ref, SharedPtr<UserSecureDataHandle<void >> handle,
142
139
UserSecureInternal* internal) {
143
- if (internal == nullptr ) {
144
- handle->future_api ->Complete (handle->future_handle , kNoInternal ,
145
- " manager doesn't have valid internal" );
146
- return ;
147
- }
140
+ FIREBASE_ASSERT (internal);
148
141
ThisRefLock lock (&ref);
149
142
if (lock.GetReference () != nullptr ) {
150
143
internal->DeleteUserData (handle->app_name );
@@ -165,11 +158,7 @@ Future<void> UserSecureManager::DeleteAllData() {
165
158
auto callback = NewCallback (
166
159
[](ThisRef ref, SharedPtr<UserSecureDataHandle<void >> handle,
167
160
UserSecureInternal* internal) {
168
- if (internal == nullptr ) {
169
- handle->future_api ->Complete (handle->future_handle , kNoInternal ,
170
- " manager doesn't have valid internal" );
171
- return ;
172
- }
161
+ FIREBASE_ASSERT (internal);
173
162
ThisRefLock lock (&ref);
174
163
if (lock.GetReference () != nullptr ) {
175
164
internal->DeleteAllData ();
0 commit comments