# File lib/aws/sts.rb, line 107
    def new_federated_session(name, opts = {})
      opts = opts.merge(:name => name)
      case
      when opts[:policy].kind_of?(String) || !opts[:policy]
        # leave it alone
      when opts[:policy].respond_to?(:to_json)
        opts[:policy] = opts[:policy].to_json
      end
      get_session(:get_federation_token, opts) do |resp, session_opts|
        session_opts.merge!(:user_id => resp.federated_user.federated_user_id,
                            :user_arn => resp.federated_user.arn,
                            :packed_policy_size => resp.packed_policy_size)
        FederatedSession.new(session_opts)
      end
    end