FIRAppDistributionKeychainUtility+Private.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2020 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. #import <AppAuth/AppAuth.h>
  15. NS_ASSUME_NONNULL_BEGIN
  16. /// @brief Wraps keychain operations to encapsulate interactions with CF data structures
  17. @interface FIRAppDistributionKeychainUtility : NSObject
  18. /// @brief Store an item in the keychain
  19. + (BOOL)addKeychainItem:(NSMutableDictionary *)keychainQuery withDataDictionary:(NSData *)data;
  20. /// @brief Update an item in the keychain
  21. + (BOOL)updateKeychainItem:(NSMutableDictionary *)keychainQuery withDataDictionary:(NSData *)data;
  22. /// @brief Delete an item in the keychain
  23. + (BOOL)deleteKeychainItem:(NSMutableDictionary *)keychainQuery;
  24. /// @brief Fetch the item matching the keychain query from the keychain
  25. + (NSData *)fetchKeychainItemMatching:(nonnull NSMutableDictionary *)keychainQuery
  26. error:(NSError **_Nullable)error;
  27. /// @brief Unarchive the authentication state from the keychain result
  28. + (OIDAuthState *)unarchiveKeychainResult:(NSData *)result;
  29. /// @brief Archive the authentication data for persistence to the keychain
  30. + (NSData *)archiveDataForKeychain:(OIDAuthState *)data;
  31. @end
  32. NS_ASSUME_NONNULL_END