-
Notifications
You must be signed in to change notification settings - Fork 176
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support CAS v3 protocol #17
Comments
In order to fix this issue, #15 will also have to be fixed. Basically, as far as I can tell, the only differences in v2 and v3, as far as the client is concerned, are the extra attributes in the |
I was actually taking a look (cursory glance) at this one last week. I think you're right about #15 needing to be done as well. This one is not a simple/easy one :) |
@phantomtypist The PR from issue #15 is effectively merged into the feature branch I have for full support of CAS v3.0. I believe that we need to reject that PR, however, because it is hacking the CAS v2.0 service ticket validator to provide extra attributes in the CAS principal. While it is a common hack, it is not according to spec, and so I'd prefer to not implement in an official client library. Also, I wanted to get a second pair of eyes on a curious section of code in the CAS v2.0 service ticket validator, found at Cas20ServiceTicketValidator.cs Line 141. I believe the AuthenticationFailure authFailureResponse;
try
{
authFailureResponse = (AuthenticationFailure) serviceResponse.Item;
}
catch
{
throw new TicketValidationException("CAS ticket could not be validated.");
}
throw new TicketValidationException(authFailureResponse.Message, authFailureResponse.Code); Do you agree? Finally, I am done with coding and testing the CAS v3.0 protocol support. Right now I'm just finishing up some commenting/housekeeping and then I'll be able to submit a PR. I only have a mock CAS server to test against (our university's CAS server doesn't support v3.0), so having someone else be able to test the new v3.0 protocol support would be helpful. I will have a PR for that here shortly. |
Also, should we make CAS v3.0 the default protocol for new installs (via the web.config.install.xdt file)? We obviously don't want to overwrite an existing config to switch to v3.0, but I don't see any harm in assuming v3.0 for new installs, letting the user bump back down to v2.0 if they want. |
Hi is there anyway to force app to use protocol 3? I have a problem in my project and i cant get attributes from the server. |
@HamidRezaAshkiyan Unfortunately this CAS client currently does not support the CAS version 3 protocol, as is evident by this issue to add support for the protocol to the project. Furthermore, availability of developer support for this project has been extremely limited in recent months/years, so that is why development has essentially halted. Because of that, I cannot give you any fair estimate of if/when v3 support will be added. However, you may have some alternatives:
Sorry that we don't have better news, but hopefully this will help you get moving in the right direction! |
Thanks. Is there any NuGet for your project? if is not how can I build one from it so i can reference it? |
@HamidRezaAshkiyan Unfortunately, no, there is no NuGet package for my fork of the project because I don't plan on releasing the client on my own. The plan is to implement CASv3 in my fork of the project, validate and test it, and then submit a PR to this original project. I created issue #108 for us to further discuss what you are trying to do so that we don't add too much off-topic chatter in this issue. So please follow up with me in that issue instead. |
We need a new validator, Cas30 perhaps that is able to consume attributes and other protocol-related attrs. I do have a bit of time set aside this week to review this better and submit a PR.
The text was updated successfully, but these errors were encountered: