私はゴゴジャンでインジケーターを出品しているのですが、ある時Web認証をしているはずのインジケーターが別の口座でも使用できることが判明いたしました。
これはまずいと思い解決策を模索したところ見つかったので記載しようと思います。
この記事で分かること
- Web認証がうまく動かない時の対処法が分かる
事象の確認
誤解のないように言っておきますと「Authentication success」や「Authentication failure」が出ているのに認証が効いていないのです。
「Authentication success」であればインジケーターはもちろん使用可能。
そして、「Authentication failure」でもインジケーターの使用ができてしまうのです。
ゴゴジャンのWeb認証の仕組み
そもそもWeb認証の仕組みについてですが、OnInit や OnTimer の関数でゴゴジャンのAPIにアクセスしに行って、認証OKであればインジケーターが作動するようになっています。
認証のチェックをする場所
で、認証をチェックする場所ですが、インジケーターの場合は OnCalculate 関数で行っております。
この関数の先頭でチェックして認証NGの場合は後続の処理をしないということです。
ではなぜ使用できてしまうのか
私が作ったインジケーターは OnChartEvent 関数で動くものだったからです。
この関数には認証チェックのロジックが入っていないので「Authentication failure」でも使用できてしまうというわけです。
なので以下コードを OnChartEvent 関数の先頭に追加したらしっかりと認証が動き使用できなくなったことを確認することができました。
if(AuthResult == false){return;}
まとめ
ゴゴジャンで認証コード挿入時に OnChartEvent にも自動で追加して欲しい。
コメント