AppAuth.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /*! @file AppAuth.h
  2. @brief AppAuth iOS SDK
  3. @copyright
  4. Copyright 2015 Google Inc. All Rights Reserved.
  5. @copydetails
  6. Licensed under the Apache License, Version 2.0 (the "License");
  7. you may not use this file except in compliance with the License.
  8. You may obtain a copy of the License at
  9. http://www.apache.org/licenses/LICENSE-2.0
  10. Unless required by applicable law or agreed to in writing, software
  11. distributed under the License is distributed on an "AS IS" BASIS,
  12. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. See the License for the specific language governing permissions and
  14. limitations under the License.
  15. */
  16. #import "OIDAuthState.h"
  17. #import "OIDAuthStateChangeDelegate.h"
  18. #import "OIDAuthStateErrorDelegate.h"
  19. #import "OIDAuthorizationRequest.h"
  20. #import "OIDAuthorizationResponse.h"
  21. #import "OIDAuthorizationService.h"
  22. #import "OIDError.h"
  23. #import "OIDErrorUtilities.h"
  24. #import "OIDExternalUserAgent.h"
  25. #import "OIDExternalUserAgentRequest.h"
  26. #import "OIDExternalUserAgentSession.h"
  27. #import "OIDGrantTypes.h"
  28. #import "OIDIDToken.h"
  29. #import "OIDRegistrationRequest.h"
  30. #import "OIDRegistrationResponse.h"
  31. #import "OIDResponseTypes.h"
  32. #import "OIDScopes.h"
  33. #import "OIDScopeUtilities.h"
  34. #import "OIDServiceConfiguration.h"
  35. #import "OIDServiceDiscovery.h"
  36. #import "OIDTokenRequest.h"
  37. #import "OIDTokenResponse.h"
  38. #import "OIDTokenUtilities.h"
  39. #import "OIDURLSessionProvider.h"
  40. #import "OIDEndSessionRequest.h"
  41. #import "OIDEndSessionResponse.h"
  42. #if TARGET_OS_TV
  43. #elif TARGET_OS_WATCH
  44. #elif TARGET_OS_IOS || TARGET_OS_MACCATALYST
  45. #import "OIDAuthState+IOS.h"
  46. #import "OIDAuthorizationService+IOS.h"
  47. #import "OIDExternalUserAgentIOS.h"
  48. #import "OIDExternalUserAgentIOSCustomBrowser.h"
  49. #import "OIDExternalUserAgentCatalyst.h"
  50. #elif TARGET_OS_OSX
  51. #import "OIDAuthState+Mac.h"
  52. #import "OIDAuthorizationService+Mac.h"
  53. #import "OIDExternalUserAgentMac.h"
  54. #import "OIDRedirectHTTPHandler.h"
  55. #else
  56. #error "Platform Undefined"
  57. #endif
  58. /*! @mainpage AppAuth for iOS and macOS
  59. @section introduction Introduction
  60. AppAuth for iOS and macOS is a client SDK for communicating with [OAuth 2.0]
  61. (https://tools.ietf.org/html/rfc6749) and [OpenID Connect]
  62. (http://openid.net/specs/openid-connect-core-1_0.html) providers. It strives to
  63. directly map the requests and responses of those specifications, while following
  64. the idiomatic style of the implementation language. In addition to mapping the
  65. raw protocol flows, convenience methods are available to assist with common
  66. tasks like performing an action with fresh tokens.
  67. It follows the best practices set out in
  68. [RFC 8252 - OAuth 2.0 for Native Apps](https://tools.ietf.org/html/rfc8252)
  69. including using `SFAuthenticationSession` and `SFSafariViewController` on iOS
  70. for the auth request. Web view and `WKWebView` are explicitly *not*
  71. supported due to the security and usability reasons explained in
  72. [Section 8.12 of RFC 8252](https://tools.ietf.org/html/rfc8252#section-8.12).
  73. It also supports the [PKCE](https://tools.ietf.org/html/rfc7636) extension to
  74. OAuth which was created to secure authorization codes in public clients when
  75. custom URI scheme redirects are used. The library is friendly to other
  76. extensions (standard or otherwise) with the ability to handle additional params
  77. in all protocol requests and responses.
  78. <b>Homepage</b>: http://openid.github.io/AppAuth-iOS/ <br>
  79. <b>API Documentation</b>: http://openid.github.io/AppAuth-iOS/docs/latest <br>
  80. <b>Git Repository</b>: https://github.com/openid/AppAuth-iOS <br>
  81. */