rest api openam添加用户参数化

时间:2014-07-22 09:00:09

标签: bash rest openam

你好我在bash中有这个脚本: 第一部分:对服务器的身份验证 - 工作正常。 第二部分:添加用户 - 这在我直接在curl代码中定义用户时工作正常 - 但是当我想从参数添加用户时...然后我收到了一条消息错误:

  

“{”code“:400,”reason“:”Bad Request“,”message“:”请求不能   因为提供的内容无效而被处理   JSON“,”detail“:”意外字符('$'(代码36)):预期有效   value(number,String,array,object,'true','false'或'null')\ n at   [来源:org.apache.catalina.connector.CoyoteInputStream@3a248e6a;   line:2,column:18]“}”

任何想法如何将值传递给此脚本? :) 此致

#!/bin/bash

adm_user="admin"
adm_pass="secret"

user_name=""
user_pass=""

auth_url="http://url/OpenAM-11.0.0/json/authenticate"
add_user_url="http://url/OpenAM-11.0.0/json/users/?_action=create"

session_id=$(curl  \
      --request POST --header "X-OpenAM-Username: $adm_user " \
      --header "X-OpenAM-Password: $adm_pass" \
      --header "Content-Type: application/json" \
      --data "{}" $auth_url | cut -d"\"" -f4 )

sleep 1

curl \
 --request POST \
 --header "iplanetDirectoryPro: $session_id" \
 --header "Content-Type: application/json" \
 --data \
 '{
    "username": "$1",
    "userpassword": "secret12",
    "mail": "bjensen@example.com"
  }' \
   $add_user_url

好的,伙计我得到了答案:

 '{
    "username": "'"$1"'",
    "userpassword": "'"$2"'" ,
    "mail": "bjensen@example.com"
  }' \

0 个答案:

没有答案