Skip to content

Commit

Permalink
v.1.11.0
Browse files Browse the repository at this point in the history
v.1.11.0
  • Loading branch information
damikael authored Apr 3, 2024
2 parents 97fac2c + 2ecb329 commit df77af6
Show file tree
Hide file tree
Showing 165 changed files with 8,725 additions and 1,410 deletions.
8 changes: 8 additions & 0 deletions src/client/src/redux/main/actions.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
export const SET_REQUEST = "SET_REQUEST";
export const SET_METADATA_URL = "SET_METADATA_URL";
export const SET_METADATA_CONFIGURATION = "SET_METADATA_CONFIGURATION";
export const SET_METADATA_ENTITY_STATEMENT = "SET_METADATA_ENTITY_STATEMENT";
export const SET_TEST_DONE = "SET_TEST_DONE";
export const SET_TEST_SUCCESS = "SET_TEST_SUCCESS";
export const SET_TEST_NOTE = "SET_TEST_NOTE";
Expand Down Expand Up @@ -29,6 +30,13 @@ class Actions {
}
}

static setMetadataEntityStatement(value) {
return {
type: SET_METADATA_ENTITY_STATEMENT,
value: value
}
}

static setTestDone(key, value) {
return {
type: SET_TEST_DONE,
Expand Down
1 change: 1 addition & 0 deletions src/client/src/redux/main/initialState.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ let state = {
request: "",
metadata_url: "",
metadata_configuration: "",
metadata_entity_statement: "",
test_done: {},
test_success: {},
test_note: {}
Expand Down
6 changes: 6 additions & 0 deletions src/client/src/redux/main/transitions.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ function transitions(state = initialState, action) {
});
break;

case Type.SET_METADATA_ENTITY_STATEMENT:
state = Object.assign({}, state, {
metadata_entity_statement: action.value
});
break;

case Type.SET_TEST_DONE:
let test_done = state.test_done;
test_done[action.key] = action.value;
Expand Down
9 changes: 9 additions & 0 deletions src/client/src/utility.js
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,15 @@ class Utility {
return state.apikey;
}

static parseJwt (token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
var jsonPayload = decodeURIComponent(window.atob(base64).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));

return JSON.parse(jsonPayload);
}
}

export default Utility;
33 changes: 26 additions & 7 deletions src/client/src/views/MetadataDownload/MetadataDownload.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ class MetadataDownload extends Component {
super(props);

this.state = {
type: "configuration", // configuration || federation
type: "federation", // configuration || federation
url: "https://",
configuration: ""
configuration: "",
entity_statement: ""
};
}

Expand All @@ -27,10 +28,16 @@ class MetadataDownload extends Component {
service.getInfo(
(info) => {
Utility.blockUI(false);
if(info.metadata && info.metadata.url && info.metadata.configuration) {
this.setState({ url: info.metadata.url, type: info.metadata.type, configuration: info.metadata.configuration });
if(info.metadata && info.metadata.url && info.metadata.configuration && info.metadata.entity_statement) {
this.setState({
url: info.metadata.url,
type: info.metadata.type,
configuration: info.metadata.configuration,
entity_statement: Utility.parseJwt(info.metadata.entity_statement)
});
store.dispatch(Actions.setMetadataURL(info.metadata.url));
store.dispatch(Actions.setMetadataConfiguration(info.metadata.configuration));
store.dispatch(Actions.setMetadataEntityStatement(info.metadata.entity_statement))
}

if(info.metadata && info.metadata.url && !info.metadata.configuration) {
Expand All @@ -41,10 +48,16 @@ class MetadataDownload extends Component {

(info)=> { // no session
Utility.blockUI(false);
if(info.metadata && info.metadata.url && info.metadata.configuration) {
this.setState({ url: info.metadata.url, type: info.metadata.type, configuration: info.metadata.configuration });
if(info.metadata && info.metadata.url && info.metadata.configuration && info.metadata.entity_statement) {
this.setState({
url: info.metadata.url,
type: info.metadata.type,
configuration: info.metadata.configuration,
entity_statement: Utility.parseJwt(info.metadata.entity_statement)
});
store.dispatch(Actions.setMetadataURL(info.metadata.url));
store.dispatch(Actions.setMetadataConfiguration(info.metadata.configuration));
store.dispatch(Actions.setMetadataEntityStatement(info.metadata.entity_statement))
}

if(info.metadata && info.metadata.url && !info.metadata.configuration) {
Expand Down Expand Up @@ -82,15 +95,21 @@ class MetadataDownload extends Component {
service.downloadMetadata(url, this.state.type,
(metadata) => {
Utility.blockUI(false);
this.setState({ url: metadata.url, configuration: metadata.configuration });
this.setState({
url: metadata.url,
configuration: metadata.configuration,
entity_statement: metadata.entity_statement? Utility.parseJwt(metadata.entity_statement) : ""
});
store.dispatch(Actions.setMetadataURL(url));
store.dispatch(Actions.setMetadataConfiguration(metadata.configuration));
store.dispatch(Actions.setMetadataEntityStatement(metadata.entity_statement));
util.dispatch(UtilActions.updateSidebar(true));
},
(error) => {
Utility.blockUI(false);
store.dispatch(Actions.setMetadataURL(""));
store.dispatch(Actions.setMetadataConfiguration(""));
store.dispatch(Actions.setMetadataEntityStatement(""));
Utility.showModal({
title: "Errore",
body: error,
Expand Down
24 changes: 12 additions & 12 deletions src/client/src/views/MetadataDownload/view.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,22 @@ function view(me) {
<label className="mb-3">
URL Type
</label>
<div class="form-check mb-2">
<input class="form-check-input" type="radio" name="check-type" id="type-configuration"
checked={me.state.type=='configuration'}
onChange={()=> { me.setType('configuration') }} />
<label class="form-check-label" for="flexRadioDefault1">
<strong>URL OIDC Core Configuration</strong> (.well-known/openid-configuration)
</label>
</div>
<div class="form-check mb-5">
<input class="form-check-input" type="radio" name="check-type" id="type-federation"
<div className="form-check mb-2">
<input className="form-check-input" type="radio" name="check-type" id="type-federation"
checked={me.state.type=='federation'}
onChange={()=> { me.setType('federation') }} />
<label class="form-check-label" for="flexRadioDefault2">
<label className="form-check-label" for="flexRadioDefault2">
<strong>URL OpenID Federation</strong> (.well-known/openid-federation)
</label>
</div>
<div className="form-check mb-5">
<input className="form-check-input" type="radio" name="check-type" id="type-configuration"
checked={me.state.type=='configuration'}
onChange={()=> { me.setType('configuration') }} />
<label className="form-check-label" for="flexRadioDefault1">
<strong>URL OIDC Core Configuration</strong> (.well-known/openid-configuration) <span class="badge bg-danger">DEPRECATED</span>
</label>
</div>

<label for="input-metadata" className="mb-3">
URL { (me.state.type=='configuration')? '.well-known/openid-configuration' : '.well-known/openid-federation' }
Expand All @@ -47,7 +47,7 @@ function view(me) {
{ me.state.configuration!=null && me.state.configuration!="" &&
<div className="row">
<div className="col-sm-12 code">
<AceEditor code={me.state.configuration} />
<AceEditor code={me.state.type=='federation'? me.state.entity_statement : me.state.configuration} />
</div>
</div>
}
Expand Down
Loading

0 comments on commit df77af6

Please sign in to comment.