move out the code according @bodnia guide
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import win from "core/window"
|
import win from "core/window"
|
||||||
|
|
||||||
export default function authorize ( auth, authActions, errActions, configs ) {
|
export default function authorize ( auth, authActions, errActions, configs ) {
|
||||||
let { schema, scopes, name, clientId, clientSecret } = auth
|
let { schema, scopes, name, clientId } = auth
|
||||||
|
|
||||||
let redirectUrl = configs.oauth2RedirectUrl
|
let redirectUrl = configs.oauth2RedirectUrl
|
||||||
let scopeSeparator = " "
|
let scopeSeparator = " "
|
||||||
@@ -14,6 +14,11 @@ export default function authorize ( auth, authActions, errActions, configs ) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flow === "application") {
|
||||||
|
authActions.authorizeOauth2Application(auth)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// todo move to parser
|
// todo move to parser
|
||||||
if ( !redirectUrl ) {
|
if ( !redirectUrl ) {
|
||||||
errActions.newAuthErr( {
|
errActions.newAuthErr( {
|
||||||
@@ -34,35 +39,6 @@ export default function authorize ( auth, authActions, errActions, configs ) {
|
|||||||
+ "&state=" + encodeURIComponent(state)
|
+ "&state=" + encodeURIComponent(state)
|
||||||
+ "&client_id=" + encodeURIComponent(clientId)
|
+ "&client_id=" + encodeURIComponent(clientId)
|
||||||
|
|
||||||
if (flow === "application") {
|
|
||||||
fetch(schema.get("tokenUrl"), {
|
|
||||||
method: "post", headers: {
|
|
||||||
"Accept":"application/json, text/plain, */*",
|
|
||||||
"Content-Type": "application/x-www-form-urlencoded"
|
|
||||||
},
|
|
||||||
body: "grant_type=client_credentials" +
|
|
||||||
"&client_id=" + encodeURIComponent(clientId) +
|
|
||||||
"&client_secret=" + encodeURIComponent(clientSecret) +
|
|
||||||
"&scope=" + encodeURIComponent(scopes.join(scopeSeparator))
|
|
||||||
})
|
|
||||||
.then(function (response) {
|
|
||||||
if ( !response.ok ) {
|
|
||||||
errActions.newAuthErr( {
|
|
||||||
authId: name,
|
|
||||||
level: "error",
|
|
||||||
source: "auth",
|
|
||||||
message: response.statusText
|
|
||||||
} )
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
response.json()
|
|
||||||
.then(function (json){
|
|
||||||
authActions.authorizeOauth2({ auth, token: json})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch(err => { errActions.newAuthErr( err ) })
|
|
||||||
} else {
|
|
||||||
// pass action authorizeOauth2 and authentication data through window
|
// pass action authorizeOauth2 and authentication data through window
|
||||||
// to authorize with oauth2
|
// to authorize with oauth2
|
||||||
win.swaggerUIRedirectOauth2 = {
|
win.swaggerUIRedirectOauth2 = {
|
||||||
@@ -73,5 +49,4 @@ export default function authorize ( auth, authActions, errActions, configs ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
win.open(url)
|
win.open(url)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,3 +119,35 @@ export const authorizePassword = ( auth ) => ( { fn, authActions, errActions } )
|
|||||||
})
|
})
|
||||||
.catch(err => { errActions.newAuthErr( err ) })
|
.catch(err => { errActions.newAuthErr( err ) })
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const authorizeOauth2Application = ( auth ) => ( { authActions, errActions } ) => {
|
||||||
|
let { schema, scopes, name, clientId, clientSecret } = auth
|
||||||
|
|
||||||
|
fetch(schema.get("tokenUrl"), {
|
||||||
|
method: "post", headers: {
|
||||||
|
"Accept":"application/json, text/plain, */*",
|
||||||
|
"Content-Type": "application/x-www-form-urlencoded"
|
||||||
|
},
|
||||||
|
body: "grant_type=client_credentials" +
|
||||||
|
"&client_id=" + encodeURIComponent(clientId) +
|
||||||
|
"&client_secret=" + encodeURIComponent(clientSecret) +
|
||||||
|
"&scope=" + encodeURIComponent(scopes.join(scopeSeparator))
|
||||||
|
})
|
||||||
|
.then(function (response) {
|
||||||
|
if ( !response.ok ) {
|
||||||
|
errActions.newAuthErr( {
|
||||||
|
authId: name,
|
||||||
|
level: "error",
|
||||||
|
source: "auth",
|
||||||
|
message: response.statusText
|
||||||
|
} )
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
response.json()
|
||||||
|
.then(function (json){
|
||||||
|
authActions.authorizeOauth2({ auth, token: json})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(err => { errActions.newAuthErr( err ) })
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user