net.sf.f8api
Class FacebookSignatureUtil

java.lang.Object
  extended by net.sf.f8api.FacebookSignatureUtil

public final class FacebookSignatureUtil
extends java.lang.Object


Method Summary
static java.util.List<java.lang.String> convert(java.util.Collection<java.util.Map.Entry<java.lang.String,java.lang.CharSequence>> entries)
          Converts a Map of key-value pairs into the form expected by generateSignature
static java.util.List<java.lang.String> convertFacebookParams(java.util.Collection<java.util.Map.Entry<FacebookParam,java.lang.CharSequence>> entries)
          Converts a Map of key-value pairs into the form expected by generateSignature
static java.util.Map<java.lang.String,java.lang.CharSequence> extractFacebookNamespaceParams(java.util.Map<java.lang.CharSequence,java.lang.CharSequence> reqParams)
          Out of the passed in reqParams, extracts the parameters that are in the FacebookParam namespace and returns them.
static java.util.EnumMap<FacebookParam,java.lang.CharSequence> extractFacebookParams(java.util.Map<java.lang.CharSequence,java.lang.CharSequence> reqParams)
          Out of the passed in reqParams, extracts the parameters that are known FacebookParams and returns them.
static java.util.Map<java.lang.String,java.lang.CharSequence> extractFacebookParamsFromArray(java.util.Map<java.lang.CharSequence,java.lang.CharSequence[]> reqParams)
          Out of the passed in reqParams, extracts the parameters that are in the FacebookParam namespace and returns them.
static java.lang.String generateSignature(java.util.List<java.lang.String> params, java.lang.String secret)
          Calculates the signature for the given set of params using the supplied secret
static java.lang.String generateSignature(java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.CharSequence>> entries, java.lang.String secret)
           
static boolean verifySignature(java.util.EnumMap<FacebookParam,java.lang.CharSequence> params, java.lang.String secret)
          Verifies that a signature received matches the expected value.
static boolean verifySignature(java.util.EnumMap<FacebookParam,java.lang.CharSequence> params, java.lang.String secret, java.lang.String expected)
          Verifies that a signature received matches the expected value.
static boolean verifySignature(java.util.Map<java.lang.String,java.lang.CharSequence> params, java.lang.String secret)
          Verifies that a signature received matches the expected value.
static boolean verifySignature(java.util.Map<java.lang.String,java.lang.CharSequence> params, java.lang.String secret, java.lang.String expected)
          Verifies that a signature received matches the expected value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

extractFacebookParamsFromArray

public static java.util.Map<java.lang.String,java.lang.CharSequence> extractFacebookParamsFromArray(java.util.Map<java.lang.CharSequence,java.lang.CharSequence[]> reqParams)
Out of the passed in reqParams, extracts the parameters that are in the FacebookParam namespace and returns them.

Parameters:
reqParams - A map of request parameters to their values. Values are arrays of strings, as returned by ServletRequest.getParameterMap(). Only the first element in a given array is significant.
Returns:
a boolean indicating whether the calculated signature matched the expected signature

extractFacebookNamespaceParams

public static java.util.Map<java.lang.String,java.lang.CharSequence> extractFacebookNamespaceParams(java.util.Map<java.lang.CharSequence,java.lang.CharSequence> reqParams)
Out of the passed in reqParams, extracts the parameters that are in the FacebookParam namespace and returns them.

Parameters:
reqParams - a map of request parameters to their values
Returns:
a boolean indicating whether the calculated signature matched the expected signature

extractFacebookParams

public static java.util.EnumMap<FacebookParam,java.lang.CharSequence> extractFacebookParams(java.util.Map<java.lang.CharSequence,java.lang.CharSequence> reqParams)
Out of the passed in reqParams, extracts the parameters that are known FacebookParams and returns them.

Parameters:
reqParams - a map of request parameters to their values
Returns:
a map suitable for being passed to verify signature

verifySignature

public static boolean verifySignature(java.util.EnumMap<FacebookParam,java.lang.CharSequence> params,
                                      java.lang.String secret)
Verifies that a signature received matches the expected value. Removes FacebookParam.SIGNATURE from params if present.

Parameters:
params - a map of parameters and their values, such as one obtained from extractFacebookParams; expected to the expected signature as the FacebookParam.SIGNATURE parameter
secret -
Returns:
a boolean indicating whether the calculated signature matched the expected signature

verifySignature

public static boolean verifySignature(java.util.EnumMap<FacebookParam,java.lang.CharSequence> params,
                                      java.lang.String secret,
                                      java.lang.String expected)
Verifies that a signature received matches the expected value.

Parameters:
params - a map of parameters and their values, such as one obtained from extractFacebookParams
Returns:
a boolean indicating whether the calculated signature matched the expected signature

verifySignature

public static boolean verifySignature(java.util.Map<java.lang.String,java.lang.CharSequence> params,
                                      java.lang.String secret)
Verifies that a signature received matches the expected value. Removes FacebookParam.SIGNATURE from params if present.

Parameters:
params - a map of parameters and their values, such as one obtained from extractFacebookNamespaceParams; expected to contain the signature as the FacebookParam.SIGNATURE parameter
secret -
Returns:
a boolean indicating whether the calculated signature matched the expected signature

verifySignature

public static boolean verifySignature(java.util.Map<java.lang.String,java.lang.CharSequence> params,
                                      java.lang.String secret,
                                      java.lang.String expected)
Verifies that a signature received matches the expected value.

Parameters:
params - a map of parameters and their values, such as one obtained from extractFacebookNamespaceParams
Returns:
a boolean indicating whether the calculated signature matched the expected signature

convert

public static java.util.List<java.lang.String> convert(java.util.Collection<java.util.Map.Entry<java.lang.String,java.lang.CharSequence>> entries)
Converts a Map of key-value pairs into the form expected by generateSignature

Parameters:
entries - a collection of Map.Entry's, such as can be obtained using myMap.entrySet()
Returns:
a List suitable for being passed to generateSignature

convertFacebookParams

public static java.util.List<java.lang.String> convertFacebookParams(java.util.Collection<java.util.Map.Entry<FacebookParam,java.lang.CharSequence>> entries)
Converts a Map of key-value pairs into the form expected by generateSignature

Parameters:
entries - a collection of Map.Entry's, such as can be obtained using myMap.entrySet()
Returns:
a List suitable for being passed to generateSignature

generateSignature

public static java.lang.String generateSignature(java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.CharSequence>> entries,
                                                 java.lang.String secret)

generateSignature

public static java.lang.String generateSignature(java.util.List<java.lang.String> params,
                                                 java.lang.String secret)
Calculates the signature for the given set of params using the supplied secret

Parameters:
params - Strings of the form "key=value"
secret -
Returns:
the signature


Copyright © 2007 Jason Thrasher. All Rights Reserved.