php 解析 saml协议,解出SAMLRequest的代码示例
“解url > 解base64 > 解壓縮(zip.inflate)”的過程請參考如下代碼示例:package org.apache;
import java.io.*;
import org.opensaml.xml.util.Base64;
import java.util.zip.InflaterInputStream;
import java.util.zip.Inflater;
class SamlRequestDecoder {
public static void main(String[] args) throws UnsupportedEncodingException {
String samlRequest = "hZJBb9swDIX%2Fiqa77dho0kyIU2QNigboNq9xd9hlkGWm1ipLsSjF7b%2Bv7KRbhwHZlSK%2FR73HxdVzq8gBLEqjc5rGE0pAC1NL%2FZjTh%2FImmtOr5QJ5q7I9W3nX6HvoPKAjYVAjO77k1FvNDEeJTPMWkDnBtqvPdyyLJ2xvjTPCKEpWiGBdkLo2Gn0Ldgv2IAU83N%2FltHFujyxJeFCJG897kEIZX8fCtGPRy2SQSwbwPyRK1mErqbkbfzLAAqvpXajG07SHauT4MJaEhWovXDLiEwHaefuSgMAPyjxKfdvHXAwYSm6MFTB%2BO6c7rhAo2axz%2BtM12ZOqZ7rreDdT1aHqU9F1T5Wqs%2FYSm19TefkcWrHgiPIAf4YRPWw0Oq5dTrNJOo%2FSNMpm5eQjS1M2nccXF7MflBQnyz5JfYzinL%2FVsQnZbVkWUfF1W1Ly%2FS3S0EBPAbJR3b5P7jyYv5lMl2fDWSTv%2Bb%2FP5UsAbtaFUVK8kJVSpr%2B2wF1ww1kPo7ktd%2BdXGCqyjnZjK3OWa5QhL0q2xYD%2F5rmSOwn2P%2BdDk%2BVpyb%2BvePkK";
byte[] decodedBytes = Base64.decode(java.net.URLDecoder.decode(samlRequest, "utf-8"));
try {
ByteArrayInputStream bytesIn = new ByteArrayInputStream(decodedBytes);
InflaterInputStream in = new InflaterInputStream(bytesIn, new Inflater(true));
byte[] buffer = new byte[decodedBytes.length];
ByteArrayOutputStream out = new ByteArrayOutputStream();
for (int bytesRead = 0; bytesRead != -1; bytesRead = in.read(buffer)) {
out.write(buffer, 0, bytesRead);
}
System.out.println(new String(out.toByteArray(), "UTF-8"));
}
catch (Exception e) {
}
}
}
總結(jié)
以上是生活随笔為你收集整理的php 解析 saml协议,解出SAMLRequest的代码示例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python sqlite3更新数据,p
- 下一篇: .net odbc连接mysql数据库,