ms::Authorize method login_url (public)

 <instance of ms::Authorize[i]> login_url [ -prompt prompt ] \
    [ -return_url return_url ] [ -login_hint login_hint ] \
    [ -domain_hint domain_hint ] [ -code_challenge code_challenge ] \
    [ -code_challenge_method code_challenge_method ]

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

Returns the URL for logging in "oauth2/authorize" is defined in RFC 6749, but requests for MS id-tokens inversion v1.0 and v2.0 are defined here: https://learn.microsoft.com/en-us/azure/active-directory/develop/id-tokens

Switches:
-prompt
(optional)
-return_url
(optional)
-login_hint
(optional)
-domain_hint
(optional)
-code_challenge
(optional)
-code_challenge_method
(optional)

Partial Call Graph (max 5 caller/called nodes):
%3 export_vars export_vars (public) xo::oauth::nonce xo::oauth::nonce (public) ms::Authorize instproc login_url ms::Authorize instproc login_url ms::Authorize instproc login_url->export_vars ms::Authorize instproc login_url->xo::oauth::nonce

Testcases:
No testcase defined.
Source code:
if {${:version} in {"" "v1.0"}} {
    set base https://login.microsoftonline.com/common/oauth2/authorize
} else {
    #
    # When version "v2.0" is used, the concrete tenant
    # (i.e. not "common" as in the earlier version) has to
    # be specified, unless the MS application is
    # configured as a multi-tenant application.
    #
    set base https://login.microsoftonline.com/${:tenant}/oauth2/${:version}/authorize
}

set client_id ${:client_id}
set scope ${:scope}
set response_type ${:response_type}
set nonce [::xo::oauth::nonce]
set response_mode form_post
set state [:encoded_state -return_url $return_url]
set redirect_uri [:qualified ${:responder_url}]

return [export_vars -no_empty -base $base {
    client_id response_type redirect_uri response_mode
    state scope nonce prompt login_hint domain_hint
    code_challenge code_challenge_method
}]
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: