Как аутентифицировать пользователя API Trello с правами на чтение и запись, используя OAuth1Swift

Я пытаюсь аутентифицировать пользователя, получающего read, write разрешение доступа к Trello API. я использую OAuth1Swift для аутентификации, но не может добавить параметры, чтобы добавить разрешение и app name,

Как мы добавляем этих paramateers? Это мой код ниже.

Библиотека OAuthSwift

Документы API Trello

 func doOAuthTrello() {
    let oauthswift = OAuth1Swift(
        consumerKey:    "consumerKey",
        consumerSecret: "consumerSecret",
        requestTokenUrl:    "https://trello.com/1/OAuthGetRequestToken",
        authorizeUrl:       "https://trello.com/1/OAuthAuthorizeToken",
        accessTokenUrl:     "https://trello.com/1/OAuthGetAccessToken"
    )

    self.oauthswift = oauthswift
    oauthswift.authorizeURLHandler = getURLHandler()
    let _ = oauthswift.authorize(
        withCallbackURL: URL(string: "oauth-swift://oauth-callback/trello")!,
        success: { credential, response, parameters in
            self.showTokenAlert(name: serviceParameters["name"], credential: credential)
            self.testTrello(oauthswift)
        },
        failure: { error in
            print(error.localizedDescription, terminator: "")
        }
    )
}

1 ответ

Решение

Попробовав все, вот решение:

lazy var paramaters:[String: String] = {
    return  [
        "consumerKey": "consumerKey",
        "consumerSecret": "consumerSecret",
        "requestTokenUrl": "https://trello.com/1/OAuthGetRequestToken?scope=read,write,account&expiration=never&name=AppName",
        "authorizeUrl": "https://trello.com/1/OAuthAuthorizeToken?scope=read,write,account&expiration=never&name=AppName",
        "accessTokenUrl": "https://trello.com/1/OAuthGetAccessToken?scope=read,write,account&expiration=never&name=AppName"
    ]
}()

Волшебство происходит путем добавления ?scope=read,write,account&expiration=never&name=AppName к параметрам URL

Другие вопросы по тегам