google / GTMAppAuth

Apple platforms SDK for using AppAuth with Google libraries.
Apache License 2.0
379 stars 198 forks source link

Add KeychainAttribute and KeychainConfiguration to customize Keychain use #201

Closed mdmathias closed 1 year ago

mdmathias commented 2 years ago

KeychainAttribute is an enumeration used to model the specific attributes we support in saving, reading, and removing data from the Keychain. The enum is not explicitly used by clients; instead, instances of the KeychainConfiguration class wrap enumeration classes to support @objc clients (since currently one case in KeychainAttribute uses an associated value, which is not allowed in ObjC).

The PR also adds tests in KeychainStoreTests.swift to provide examples and document expectations in using these new configuration types with KeychainStore.

This PR is a child of #197.