mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Improve consent management page to process oidc requests
This commit is contained in:
parent
f31befb342
commit
0917d3bf7f
@ -29,7 +29,7 @@
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
<form id="consentForm" method="POST" action="/commonauth">
|
||||
<form id="consentForm" method="POST" action={{action}}>
|
||||
<p>By selecting following attributes I agree to share them with the above service provider.</p>
|
||||
{{#unless singleMandatoryClaim}}
|
||||
<div class="wr-input-control">
|
||||
@ -60,9 +60,9 @@
|
||||
</div>
|
||||
<p class="small">Mandatory claims are marked with an asterisk ( * )</p>
|
||||
<div class="wr-input-control wr-btn-grp">
|
||||
<input type="hidden" name="sessionDataKey" value="{{sessionDataKey}}"/>
|
||||
<input type="hidden" name="{{sessionDataKeyName}}" value="{{sessionDataKey}}"/>
|
||||
<input type="hidden" name="consent" id="consent" value="deny"/>
|
||||
<button class="btn btn-primary" onclick="approved()">Approve</button>
|
||||
<button class="btn btn-primary" onclick="approved('{{ssoProtocol}}')">Approve</button>
|
||||
<button class="btn btn-default" onclick="deny()">Deny</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@ -1,7 +1,21 @@
|
||||
function onRequest(context) {
|
||||
var Encode = Packages.org.owasp.encoder.Encode;
|
||||
var viewModel = {};
|
||||
|
||||
// if sp is received, its a saml request or else its oidc
|
||||
if(request.getParameter("sp") !== null) {
|
||||
viewModel.appName = Encode.forHtml(request.getParameter("sp"));
|
||||
viewModel.action = "/commonauth";
|
||||
viewModel.sessionDataKey = Encode.forHtmlAttribute(request.getParameter("sessionDataKey"));
|
||||
viewModel.sessionDataKeyName = "sessionDataKey";
|
||||
viewModel.ssoProtocol = "saml";
|
||||
} else {
|
||||
viewModel.appName = Encode.forHtml(request.getParameter("application"));
|
||||
viewModel.action = "../oauth2/authorize";
|
||||
viewModel.sessionDataKey = Encode.forHtmlAttribute(request.getParameter("sessionDataKeyConsent"));
|
||||
viewModel.sessionDataKeyName = "sessionDataKeyConsent";
|
||||
viewModel.ssoProtocol = "oidc";
|
||||
}
|
||||
var mandatoryClaims = [];
|
||||
var requestedClaims = [];
|
||||
var singleMandatoryClaim = false;
|
||||
@ -36,6 +50,5 @@ function onRequest(context) {
|
||||
viewModel.mandatoryClaims = mandatoryClaims;
|
||||
viewModel.requestedClaims = requestedClaims;
|
||||
viewModel.singleMandatoryClaim = singleMandatoryClaim;
|
||||
viewModel.sessionDataKey = Encode.forHtmlAttribute(request.getParameter("sessionDataKey"));
|
||||
return viewModel;
|
||||
}
|
||||
@ -1,9 +1,13 @@
|
||||
function approved() {
|
||||
function approved(ssoProtocol) {
|
||||
var mandatoryClaimCBs = $(".mandatory-claim");
|
||||
var checkedMandatoryClaimCBs = $(".mandatory-claim:checked");
|
||||
|
||||
if (checkedMandatoryClaimCBs.length == mandatoryClaimCBs.length) {
|
||||
if(ssoProtocol === "saml") {
|
||||
document.getElementById('consent').value = "approve";
|
||||
} else if(ssoProtocol === "oidc") {
|
||||
document.getElementById('consent').value = "approveAlways";
|
||||
}
|
||||
document.getElementById("consentForm").submit();
|
||||
} else {
|
||||
$("#modal_claim_validation").modal();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user