scout24 / afp-core Goto Github PK
View Code? Open in Web Editor NEWAWS Federation Proxy Backend
License: Apache License 2.0
AWS Federation Proxy Backend
License: Apache License 2.0
When throwing an HTTP 500 error, afp is silent about the reason the error is thrown. This makes it hard to debug problems when needed.
See (internal) PRO-17434
Please find a way to make those errors more verbose, so that clients are able to display a "human readable" error message.
we are using afp-core as STS for our company to login into the AWS Console. The setup was built with puppet and the afp was deployed automatically which everything is fine.
From time to time we observed that someone got the error message "No accounts found. You have no attached accounts." even he entered the corrected password and the username was already configured properly.
The error message is not easy to reproducible, for example i tried 2 hours today and it doesn't come, but yesterday twice.
We setup afp-core + apache + sssd as the description.
an investigation in the source code i found that the function getAccountList return Errormessage but didn't understand why the login is working, it still return the Error Message
afp-web/js/service/userMessageService.js
` function getAccountList(callback) {
var error = {};
$http.get(appVars.afpApiEndpoint + "account")
.success(function (response, status, headers) {
callback(null, getLoginstatus(headers), createAccountArray(response));
})
.error(function (response, status, headers) {
error.message = getErrorMessage(status, response);
callback(error, getLoginstatus(headers));
});
}
return {
getLoginstatus: getLoginstatus,
getErrorMessage: getErrorMessage,
getAccountList: getAccountList
};`
afp-web/js/controller/AccountlistController.js
` userMessageService.getAccountList(function (err, loginstatus, accounts) {
$scope.loginstatus = loginstatus;
if (err) {
$scope.error = err.message;
$scope.showError = true;
return;
}
$scope.favoriteCount = favouritesService.readFavorites(accounts);
$scope.accounts = accounts;
$scope.showError = false;
focusQueryInput();
});`
afp-web/templates/resultlist.html
`<div class="align-center" ng-show="accounts.length == 0">
<div class="alert alert-info" role="alert" >
<b>No accounts found.</b>
You have no attached accounts.
</div>
</div>`
Some classes (e.g. provider_by_ip.py
) contain IS24 specific code.
That makes it very difficult to see the generic parts of AFP in contrast to the IS24 specific parts.
For other users it would be much easier to adapt AFP to their use cases if all IS24 specific implementations would be clearly marked as such.
I am not sure if the log-level can be setup via the configuration. If not, this has to be added, otherwise we can close this issue.
If ProviderByIP.check_host_allowed
denies a client access due to its domain, this is translated into status code 500 (internal server error) instead of 403 (forbidden).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.