xo::Authorize method redeem_code (protected)

 <instance of xo::Authorize[i]> redeem_code code

Defined in packages/xooauth/tcl/authorize-procs.tcl

Parameters:
code (required)

Testcases:
No testcase defined.
Source code:
set client_id ${:client_id}
set client_secret ${:client_secret}
set redirect_uri [:qualified ${:responder_url}]
set url [export_vars -no_empty -base ${:base_url}/access_token {
    client_id client_secret code redirect_uri
}]
set data [ns_http run $url]
if {[dict get $data status] ne 200} {
    dict set data error oacs-cant_redeem_code
    dict set data error_description $data
} else {
    set form_data [ns_set array [ns_parsequery [dict get $data body]]]
    ns_log notice "[self] redeem_code formdata has keys: [lsort [dict keys $form_data]]"
    if {![dict exists $form_data access_token]} {
        if {[dict exists $form_data error]} {
            dict set data error [dict get $form_data error]
            dict set data error_description [dict get $form_data error_description]
        } else {
            dict set data error oacs-no_access_token
            dict set data error_description $form_data
        }
    } else {
        dict set data access_token [dict get $form_data access_token]
    }
}
ns_log notice "[self] redeem_code returns $data"
return $data
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: