WebアプリケーションをAngular(Angular)に作成しています。Angularを使用してユーザーを認証するAPI
APIエンドポイント経由で新しいユーザー情報をサードパーティのソフトウェアに渡すためのフォームを作成しました。私は
POST: https://pi.pardot.com/api/login/version/3
message body: email=<email>&password=<password>&user_key=<user_key>
を投稿する必要があり、私が持ってたら、これは
<rsp stat="ok" version="1.0">
<api_key><api_key here></api_key>
</rsp>
を返す新しいapi_key
を取得するにはname(new user)
email(new user)
user_key(mine)
とapi_key (changes evry hour)
を渡すために必要なデータを投稿する
新しいキー私はデータを投稿するためにフォームポストでそれを渡すことができます。
質問
私は新しいapi_key
を取得するためにポストを用量と私の新しいユーザーポストにapi_key
変数を変更し、データの投稿する前に実行される機能を持っている病気の必要性を考えます。
これは私がどのように角度でこれを行うのですか?新しいユーザーデータを投稿する現在のポストコントローラを追加しました。
私のコントローラ
// submit button controller POST
// =============================================================================
FirstModule.controller('formController', function ($scope, $http) {
$scope.formData = {};
$scope.processForm = function (Fname, Lname, email) {
var data = {
Fname: $scope.formData.Fname,
Lname: $scope.formData.Lname,
email: $scope.formData.email,
api_key: 'changes every hr', //needs to be dynamic
user_key: 'my key'
};
//Call the services
$http.post('https://some api.com/api/prospect/version/4/do/create', JSON.stringify(data)).then(function (response) {
if (response.data)
$scope.formData = "Post Data Submitted Successfully!";
}, function (response) {
$scope.formData = "Post Data Submitted Failed";
$scope.statusval = response.status;
$scope.statustext = response.statusText;
$scope.headers = response.headers();
});
};
});
マイフォーム
<form name="myForm" id="signup-form" class="col-sm-8 col-sm-offset-2"
ng-submit="processForm()"
ng-click="postdata(formData)">
<!-- our nested state views will be injected here -->
<div id="form-views" ui-view></div>
</form>
だからこの部分はOKですが、これは、私は、最新のapi_key
を取得するので、実行する前に、どのように私は、関数を実行しますか?そしてもっと重要なことに、私はそれをどのように安全にすることができますか?私はすべて配置する必要があります
APIは、セキュリティのためにPardot
です。サポートされているスクリプトのAPIリクエストはおそらくノードですか?
私はポストコントローラにapi_keyを保存してapi_keyを保存する関数を作成しました。 – Beep
はい、ここで気づくべきもう1つ重要なことは、アプリケーションでユーザーセッションを維持している場合、そのセッションにセッションを保存し、app.run()に$ scope.sessionDetails(); –