Swiftpack.co - casdoor/casdoor-ios-sdk as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by casdoor.
casdoor/casdoor-ios-sdk 1.0.0
Casdoor iOS client SDK (in Swift)
⭐️ 2
🕓 1 year ago
iOS macOS watchOS tvOS
.package(url: "https://github.com/casdoor/casdoor-ios-sdk.git", from: "1.0.0")

casdoor-ios-sdk

Casdoor's SDK for iOS will allow you to easily connect your application to the Casdoor authentication system without having to implement it from scratch. Casdoor SDK is simple to use. We will show you the steps below.

Step0. Adding the dependency

.package(url: "https://github.com/casdoor/casdoor-ios-sdk.git", from: "x.x.x")

and Casdoor dependency to your target:

.target(
   name: "MyApp", 
   dependencies: [
       .product(name: "Casdoor", package: "casdoor-ios-sdk")
    ]
 ),

Step1. Init Config

Initialization requires 5 parameters, which are all str type:

Name (in order) Must Description
endpoint Yes Casdoor Server Url, such as http://localhost:8000
clientID Yes Application.clientID
appName Yes Application.name
apiEndpoint NO Casdoor Api Url, default endpoint + "/api/"
organizationName Yes Organization name
let config:CasdoorConfig = .init(
            endpoint: "http://localhost:8000",
            clientID: "ced4d6db2f4644b85a75",
            organizationName: "organization_6qvtvh",
            redirectUri: "casdoor://callback",
            appName: "application_y38644",
     )

Step2. Init Casdoor

The Casdoor Contains all APIs

let casdoor:Casdoor = .init(config:config)

Step3. Authorize with the Casdoor server

At this point, we should use some ways to verify with the Casdoor server.

To start, we want you understand clearly the verification process of Casdoor. The following paragraphs will mention your app that wants to use Casdoor as a means of verification as APP, and Casdoor as Casdoor. APP will send a request to Casdoor. Since Casdoor is a UI-based OAuth provider, you cannot use request management service like Postman to send a URL with parameters and get back a JSON file.

casdoor-ios-sdk support the url,you can use in webview or safariView

casdoor.getSigninUrl(scope:nil,state:nil)

Hints:

  1. redirect_uri is the URL that your APP is configured to listen to the response from Casdoor. For example, if your redirect_uri is casdoor://callback, then Casdoor will send a request to this URL along with two parameters code and state, which will be used in later steps for authentication.
  2. state is usually your Application's name, you can find it under the Applications tab in Casdoor, and the leftmost Name column gives each application's name.
  3. The authorize URL allows the user to connect to a provider and give access to your application.You can use WKWebView,SFSafariViewController or ASWebAuthenticationSession if you want.
  4. After Casdoor verification passed, it will be redirected to your redirect_uri, like casdoor://callback?code=xxx&state=yyyy.you can catch it and get the code and state, then call requestOauthAccessToken(code:,state:) and parse out jwt token.

Example

See at: https://github.com/casdoor/casdoor-ios-example

GitHub

link
Stars: 2
Last commit: 1 year ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

1 year ago

Features:

  • The AsyncClient was superseded by the use of Alamofire
  • The SPM independent of third-party libraries,you can manual installation to project.
  • Use async/await

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics