SAML-based SSO for Google Apps replacement - java

We still have an implementation of this running on an old Tomcat java 1.5 box. Its used to sso for our own domain email via google
https://developers.google.com/google-apps/sso/saml_reference_implementation_web#file-and-directory-structure-for-saml-reference-code
I noticed there is a warning that this is old and no longer compatible. Is there an updated how to or sample that we can implement into an Ear file for websphere with java 1.6 ? I haven't been able to find anything yet. Thanks.

Related

AWS Elastic Beanstalk (single instance) : how to enable HTTPS for a Spring Boot application?

I recently started exploring AWS and have successfully deployed a Spring Boot application on a single Elastic Beanstalk instance.
As a next step, I'd like to have my application use HTTPS. Given that my app is packaged as a jar, I strictly followed this official documentation: Terminating HTTPS on EC2 instances running Java SE.
But my app still works with HTTP only. Did anybody managed to do so ? Any help or link to a working example would be appreciated.
Some technical details about my app: it's a Maven-based Spring Boot project. As explained in the doc, I've created the +.ebextensions+ folder with all the config files at the root of my project. I then used maven-antrun-plugin to include the .ebextensions folder in the jar file.
Thanks in advance for your answers.
Its likely that you are using current version of EB, which is for Amazon Linux 2 (AL2); not stated in the question what is used. The tutorial you've linked uses old version of the EB, which is for Amazon Linux 1 (AL1).
Subsequently, it will not work. Specifically, the nginx settings from the tutorial (.ebextensions/nginx/conf.d/ and .ebextensions/nginx/conf.d/https.conf) will be ignored. The reason is that for AL2, the nginx settings should be provided using .platform/nginx/conf.d and .platform/nginx/nginx.conf.
Also please be aware that there are many differences between AL1 and AL2 in EB, and more changes may be required in the tutorial to make it work on AL2:
Migrating your Elastic Beanstalk Linux application to Amazon Linux 2
Since its not explicitly stated in your question, which version of EB are you using, if this is indeed AL2, you could try running your app using old version of AL1. This at least would enable you to confirm that it actually works. Then you could think of how to port it to AL2.

Issues in using Kubernetes Java client library in App Engine

I want to use this java client library for Kubernetes from app engine. But I ran into issues because this client library uses okhttp client which doesn't work in app engine as per this link.
The error described in the previous SO link is the exact error I am getting on app engine.
As per this link, okhttp exposes the method which can be over-ridden such that this issue isn't seen. There is actually a library for this here. But the issue is that the OkHttpClient has been moved from package com.squareup.okhttp to okhttp3 from version 3.x onwards in which the changes that I require are present. This old version of okhttp is used in the Kubernetes client library and shows error if I try to set the new okhttp.
Is there any way to solve this issue? Or are there any other client libraries which can be used from app engine. I know of client from fabric8 but it has support only till kubernetes version 1.7.10 as of now. I still haven't tried it on app engine though.
Edit:
Even the fabric8 client has the same issue in app engine. It is trying to get the ProxySelector which is not a whitelisted class in appengine.
Alternatively, you could try the Java 8 runtime where you can use all the standard Java library, unlike the Java 7 runtime which allows only select whitelisted JRE classes. After all, the Java 7 runtime is now deprecated: https://cloud.google.com/appengine/docs/standard/java/runtime
However, do note that there are some differences, so you may want to take a look at the migration guide: https://cloud.google.com/appengine/docs/standard/java/migrating-to-java8

How Does One Deploy a Jersey Application to a Remote Tomcat Server

I need to state up front that I am not a Java developer. So it is fair to assume that I know very little about the tooling etc. that Java dev's will be naturally familiar with.
So, I have created a Jersey web api (2.25.1) on my home server running Windows 2012. It serves data to a Xamarin application. I need to deploy this to a Linux server (Ubuntu) on AWS which my friend spun up.
At the moment, the only access I have is via SSH (Putty).
Tomcat (and Glassfish) have been installed on the Linux machine.
How do I go about deploying that application to that AWS server?
The official Jersey documentation seems to be MIA, and my Googling efforts don't yield much. There's a lot of SO questions with a similar title to this one. But I have not found any of the answers (and in many cases, questions) helpful to my cause.
Cheers
I assume that you are using maven to create your jersey web app .
Upon build you will get a *.war file .Copy the same to tomcat/webapps folder .
Start your tomcat then.
To take your file there on remote use winscp tool with your ssh credentials.

Is It Possible to Have a Cognos Custom Authentication Provider Use JAXWS?

I am working on creating a CAM (custom authentication module/provider) for Cognos 10.
Various encrypted information is passed into the provider from the query string. The Namespace's authentication process is then designed to talk to a web service in order to validate the encrypted information wasn't tampered with and to make sure the user's "session" in the authenticating application hasn't expired.
The authenticating application uses .NET and has the web service exposed for use with SOAP requests (1.1 and 1.2, I believe). I pointed wsimport at the wsdl and generated a set of classes that works when I build a standard Java console app and pass along debug values.
When I add this code into my Namespace class and attempt the request to the web service I am getting this error from Cognos:
com.sun.xml.internal.ws.spi.ProviderImpl (initialization failure)
I thought Cognos 10 was using JDK 1.6. I am developing my CAM code in 1.6 (64bit JDK). I should have 64bit Cognos running but I do not know if it is using a 32bit JDK. Could a possible disparity in 32bit vs. 64bit be causing the issue?
Any clue as to why the generated classes from wsimport (JAXWS) won't work in Cognos? Is there a way around this?
I'm going to mark this as answered but I'll put the caveat that I haven't tested this.
After dealing with trying to get 3rd party libraries to work with my CAP/CAM I figured that the reason JAXWS was not working correctly because Cognos didn't have that included in its Java distribution.
I got a similar error to the above when trying to use Microsoft's JDBC implementation to talk to a SQL server for namespace searches. This leads me to believe that the same situation exists with JAXWS.
I looked around for the jar file that should contain the classes that would need to be there. I didn't see any jar file that was named the same as what I have for 1.6. Unless it truly isn't supported in Cognos I think including the jar file for JAXWS in the WEB-INF/lib folder will allow webservice communications using JAXWS.

Is Apache XML security library compatibile with IBM's JDK

I developed an application that uses Apache XML security library for xml encryption and signing. It runs on SUN's JDK without any problems, however, IBM JDK gives me tons of problems.
It doesn't sign right (validation fails), pkcs11 provider fails to encrypt.
It seems that problem is because IBM provides their own security providers.
I tried to comment out those providers (namely fips), and I almost managed to get same behaviour as on sun's jdk, except pkcs11 provider, which alwasy fails.
Any suggestions?
Does this thread help - http://www.ibm.com/developerworks/forums/message.jspa?messageID=1315965?
I had trouble in the past with an SSL enabled web application in Apache Tomcat because Tomcat defaults to using algorithm=SunX509 when you define a secure Connector. When using the IBM JDK, you must override by explicitly using algorithm=Ibmx509.
I'm guessing there's a similar issue at the root of your problem.

Categories

Resources